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)习题巩固:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值