加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么finally中的代码会执行,即使它已在try块中返回?

发布时间:2020-12-15 05:22:53 所属栏目:Java 来源:网络整理
导读:码: public String get() {try { //doSomething return "Hello";}finally { System.out.print("Finally");} 这段代码是如何执行的? 解决方法 因为这是finally块的重点 – 它会执行,但是你会离开try块,除非VM本身突然关闭. 通常,finally块用于清理资源 –
码:

public String get() {
try {
     //doSomething
     return "Hello";
}
finally {
     System.out.print("Finally");
}

这段代码是如何执行的?

解决方法

因为这是finally块的重点 – 它会执行,但是你会离开try块,除非VM本身突然关闭.

通常,finally块用于清理资源 – 您不希望因为在try块期间返回而保持文件句柄处于打开状态,是吗?现在你可以在返回语句之前放置清理代码 – 但是如果代码抛出异常则不会清除它.最后,清理代码会执行,但是你会离开块,这通常是你想要的.

有关更多详细信息,请参阅JLS section 14.20.2 – 并注意所有路径如何涉及finally块执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读