java之异常处理
Posted scanner小霸王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之异常处理相关的知识,希望对你有一定的参考价值。
1.异常处理机制的价值:
出现异常,程序还能继续执行
2异常的分类:error 和exception(编译和运行时异常(可不处理))
3异常体系图
4异常处理的两种方式
a)try-catch-finally(程序员代码捕获)
处理机制图:
b)throws将发生的异常抛出,交给调用者来处理,最顶级的处理者就是jVM
throws处理机制图:
JVM:打印错误信息,退出程序
如果程序员,没有显示是处理异常,默认是throws
5.try-catch-finally具体分析
a)可以有多个catch语句,捕获不同的异常,要求父异常在后,子类异常在前,例如exception在后,NullPointerException在前,如果异常只会匹配到一个异常
b)习题巩固
ii)习题一:
空指针异常,本来应该return 3,但是finally是必须要执行的,所以应该是执行finally的return 4
ii)习题2:
空指针异常,先++i变成3,但是由于有finally,所以catch还不能return,接着调用finally ,变成4返回
ii)习题3:
还是空指针到catch中 i=3但还不能返回,所以现将i存储在临时变量上,temp =3;接着执行finally时候i等于4,所以输出4;但是需要返回一条语句,而finally没有返回语句,所以返回 catch的return 3
c)小结:
6.throws异常处理:
该方法不处理,让方法的调用者自行处理;
可以抛出多个异常
a)子类重新父类方法时候,对抛出异常的规定:所抛出的异常类型要么与父类抛出的异常一致,要么为父类抛出的异常类型的子类型
b)当抛出编译型异常的时候,调用者也需要做出相对应的处理;当抛出是运行时异常的时候,调用者可以不处理,因为运行异常有默认的处理方式
c)throw和throws区别
throw方法体内:
d)习题巩固:
以上是关于java之异常处理的主要内容,如果未能解决你的问题,请参考以下文章