异常和递归

第1章 异常

1.1 概念

正常,是编译或者运行时期出现的问题。

1.2 体系结构

l Throwable(所有错误或异常的根类)

n Error(错误,不可挽回严重问题)

n Exception(异常根类,可以挽回的问题)

u RuntimeException(运行时异常);

1.3 异常处理方式

1.3.1 try..catch捕获处理

l 格式

try {

检测的异常;

} catch(捕获的异常 变量) {

处理方式;

}

l 执行流程:去执行try中的代码,如果try中的代码有异常,判断catch中是否可以捕获到,如果没有捕获到,直接抛出,如果捕获到了,就执行对应的catch如果try中的代码没有异常,就跳过catch,继续往下执行

l 注意:一个try可以对应多个catch,只执行一个catch。在catch中捕获的异常,父类不能出现在子类的前面

1.3.2 抛出异常

l 当我们不想处理,或者没有能力处理时,这时候可以选择吧异常给跑出去。

l throws在方法声明位置上,给方法做一个声明声明此方法有可能会抛出异常。如果调用一个声明了异常的方法,调用者,也需要声明异常

l throw手动制造一个异常抛出

1.4 Throwable常用方法

String getMessage():返回简短的错误信息

String toString()返回详细的错误信息

void printStackTrace():打印非常详细的错误信息(详细)

1.5 finally

用来结合try…catch使用finally修饰的代码块,无论如何都会执行,finally代码块一般用来做收尾工作,比如释放资源

1.6 异常分类

运行时异常:RuntimeException它或者它下面的子类,编译时期可以处理也可以不处理

编译时异常: RuntimeException体系外异常都属于编译时异常,编译时异常在编译时期必须要处理

1.7 自定义异常

自己写一个类,然后继承自异常类中的一个就可以

 

第2章 递归

2.1 概念

方法直接或者间接的调用它本身

2.2 注意事项

l 一定要有出口。没有出口会死循环导致内存溢出

l 次数不能过多,会内存溢出

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值