为了账号安全,请及时绑定邮箱和手机立即绑定

如果在catch中return了那么finally和后面的语句还会执行吗?

正在回答

3 回答

看来finally的意义就是为了保证在任何情况下这部分代码都被执行

0 回复 有任何疑惑可以回复我~

会的  finally一定会执行

0 回复 有任何疑惑可以回复我~

1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。

你可以是实践一下,这样能加深一下印象

3 回复 有任何疑惑可以回复我~
#1

chen900225

老师我想问一下,test2()里,catch块的返回语句是return result = 999;可是test2()的返回值类型不是应该是int型吗
2014-10-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409787    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程
意见反馈 帮助中心 APP下载
官方微信