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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄奇耀 中级黑马   /  2012-2-22 01:00  /  2281 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

try {}里有一个return语句,跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

8 个回复

倒序浏览
finally {}总会执行,即使try中有return在返回前也会执行,以便完成一些处理操作如关闭数据库等。
回复 使用道具 举报
finally总是会执行的,除非遇到System.exit这一句,,否则它总会执行,是为了避免程序出现异常情况时来执行一些关闭资源的操作
回复 使用道具 举报
本帖最后由 朱辉 于 2012-2-22 10:18 编辑

try {}里面return语句是结束本函数的执行;finally {}里定义一定执行的代码,通常用于关闭资源,除非遇到System.exit(0);这句话,系统退出,jvm结束。
回复 使用道具 举报
会执行,在return前执行 ,try {}里面return语句是结束本函数的执行,finally {}里定义的大都是一定执行的代码,通常用于关闭资源。在IO里用于关闭流资源
回复 使用道具 举报
会执行,在return后执行,try {}里面return语句是结束本函数的执行,finally {}里定义的是程序必须执行的代码,如关闭资源,关闭流资源.
但是,是在try{}中的语句执行结束后才会执行finally{}中的语句.
回复 使用道具 举报
会执行,return只在try{}有用
回复 使用道具 举报
沈样 黑马帝 2012-2-22 12:33:22
8#
finally里面的代码总会执行,通常用来关闭资源用的
回复 使用道具 举报
邢金华 黑马帝 2012-2-22 13:01:52
9#
如果你在类的任意位置写下 return 那么代码就不会往下走 跳出这个类  finally总是会执行的,除非遇到System.exit。所以应该是在return之后执行 finally里面的语句。
                                                                                          新手飘过。。。。。呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马