KKB:异常处理,关注 异常中的return问题。Fianlly的语句块一定会执行吗?

异常处理方式一:

出现一个输入不是数字的异常,我们用相应的异常处理。输入算术异常我们就用算术异常来处理

 

异常处理方式二:

使用一个父类异常替代子类异常,这里我们还可以直接使用最大的父类:Exception去接收异常

 

 

异常处理方式三:

我们在最后增加一个finally ,必然执行的异常统一处理出口,无论是否发生异常,finally必然执行

我们以后在进行IO操作,数据库的连接  我们必须要释放资源,就可以放在finally模块,就会必然执行

 

关于 finally 的面试题:异常中的return问题

 

上面的例子:问 a 的返回值是多少?

a的返回值是10,因为return a,是将a作为了一个备份,finally里面修改的是a = 20,但是返回的值是备份里面的内容

 

 

 

和上面的例子类似,问 age的返回值是多少?

这里age的返回值 28,因为 返回的p是age的地址,但是finally修改的是堆内存的数据

return p 是返回的age的地址

 

 

问 : Fianlly的语句块一定会执行吗?

 

当程序退出、电脑关机,finally语句块就不会执行,比如:退出JVM的代码:   System.exit(0);

下面的例子,说明了程序中断,finally中的语句块就没有执行

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你在狗叫什么、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值