A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-4-28 07:52  /  1680 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请求高手解答,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行啊,是在return前还是后执行啊?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

正序浏览
try catch finally是一起的,并且是不管出没出异常都会执行finally

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
finally在异常处理时提供finally块来执行所有清除操作。主要与try-catch-finally配合使用。   finally语句块的作用是无论出现什么情况,finally块中的语句一定会被执行,并且是在return之前执行。如果try-finally或者catch-finally中都有return,则2个return都执行并最终返回调用者那里的是finally中的return,如果finally中没有return则返回的是catch中的return,但是finally中的代码也是要执行的。

点评

非常感谢陈世伟!  发表于 2012-4-28 10:58

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马