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

如果在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
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号