第十一章异常处理总结


1.异常定义:程序在执行过程中所产生的问题。

2.异常分类:检查异常(checkeception)和运行异常(uncheckexception)。

3.异常的控制流程:异常时一个方法抛出的对象,当一个方法被调用时,这个方法被压入到内存的方法调用栈,当一个方法抛出异常时,该方法从调用栈被弹出,同时产生的异常对象给栈中的前一个方法。

  • 异常处理三种选择:
  • 捕获这个异常,不让其沿着调用栈向下抛出
  • 捕获这个异常,并继续向下抛出
  • 不捕获这个异常,从而导致该方法从调用栈中弹出,异常对象继续抛给调用栈下的main方法,最终传递给jvm终止程序。

4.Thowable类:Exception(所有异常类的父类)和Error(所有错误类的父类)的父类

捕获异常:使用try和catch关键字来捕获异常。其中try中的代码称为“被保护的代码”。

语法形式:
try{
//被保护的代码
}catch(异常的名称 yc){
捕获块
}finally{}

try后可跟多个catch,catch是有顺序的,如捕获异常有继承关系,那么catch中异常子类在前,父类在后。finally中书写的内容不管是否反正异常都必须执行,就算前面有return或break等跳转语句,也要先执行finally在跳转,往往资源清理,通道关闭,各种连接用完的关闭都写在finally中,

try,catch,finally不能单独存在一般存在可为:try,catch。和try,finally。和try catch finally共存。

#如果finally后有return,那么他会覆盖catch中的return。**

5.异常处理:提前判断,产生后用try,catch,用throw抛出。

6.自定义异常:首先要继承Thorwabe或者Exception(不继承就不是异常),其次书写带参构造,(书写二个,一个外部,一个内部)将已发生的异常对象的信息封装到自定义对象身上,再次书写带参(String)构造将业务信息装入自定义异常对象身上,最后添加定义异常特有的方法。

7.throw与throws区别:

throw 写在方法体中的,接的是异常对象,一但接到异常就会抛出异常。

throws 写在方法声明的最后,接的是异常类的类名,可以接多个用“,”隔开,警告方法调用者有可能发生某些异常。

当throw后面跟一个运行异常时编译器不会强制要求在本方法声明部分加throws,就算加了也不会受到编译警告。

当throw后面跟了一个编译异常时,编译器会强制要求在本方法声明部分加throws。

在抛出异常时,子类抛出的异常不能超过父类,超过指的是范围而不是数量。

8.拓展知识:Debug(调试) 断点(让程序停下来,在断点之前停下),F6:一步一步执行,F5:进入某方法,F8自动往下执行程序直到结束或遇到下一个断点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值