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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凉仁日记 中级黑马   /  2015-5-13 01:06  /  600 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

异常处理中如果有return是先执行finally 还是return

4 个回复

倒序浏览
return会执行→把return的值缓存起来→然后再执行finally→然后再把缓存的值return回去。
简单来说就是先执行return。
回复 使用道具 举报
先执行return,finally最后执行,但是需要注意的是,如果finally中的执行语句也是return,就会发生覆盖的情况,即finally中的return语句的返回值会覆盖掉try中return的其他值,最后打印的是finally中的return返回值,不过这也说明finally是后执行的;
回复 使用道具 举报
楼上正解
回复 使用道具 举报
return会先执行但是他不会直接结束,在这个时候如果要是有finally的话就会执行再执行finally的语句执行完finally语句后在返回到return将return的值返回
简单来说就是先执行return
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马