黑马程序员技术交流社区
标题:
如果try-catch中有return,那么final内的内容是否被执行?
[打印本页]
作者:
金曦
时间:
2012-11-2 12:28
标题:
如果try-catch中有return,那么final内的内容是否被执行?
如果try-catch中有return,那么final内的内容是否被执行?
谢谢
作者:
种生祥
时间:
2012-11-2 12:35
会的吧
遇到System.exit(0);//就不执行
作者:
朱宏青
时间:
2012-11-2 12:44
这要看你return到哪里去了,如果是print的话,只会print return的数据,不过最后的final还是会被执行的,反正final最终都会被执行,这点基本没有异议。
作者:
焦晨光
时间:
2012-11-2 12:55
如果try-catch中有return,那么final内的内容是否被执行?
finally块中的语句只有一种情况不会被执行,就是程序它之前有System.exit(0);时。
如果try-catch中有return程序执行到这个return时会先判断是否有finally语句,如果有的话
先把要返回的值缓存起来(并未将值真正返回),然后执行完finally语句后再将值返回!
这里要注意的还有,finally中的语句对返回值没有影响!``
作者:
邹海洋
时间:
2012-11-2 12:56
根据楼主的几个提问,断定楼主没有看毕老师的java基础视频,这些在视频中都明确提到了。并且老师用文字做了记录。建议看下,可以解惑矣。
回答问题再:finally是一定会被执行的,一种情况除外,System.exit();
作者:
黑马杨锦喜
时间:
2012-11-2 14:00
一般的参考书会说:会执行,并且是在return之前执行,但其实这并不很符合实际。我的理解如下:
return的返回值会用一个(罐子,比如的)装着,等到finally执行完毕之后,才返回到main函数去,才使用return的结果的。
作者:
梁胜海
时间:
2012-11-2 19:38
final必然会执行,我勒个擦,你要好好掌握基础理论了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2