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块执行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |