Finally中的代码一定会执行吗?( 二 )


文章插图
小结正常运行的情况下 , finally 中的代码是一定会执行的,但是,如果遇到 System.exit() 方法或 Runtime.getRuntime().halt() 方法,或者是 try 中发生了死循环、死锁,遇到了掉电、JVM 崩溃等问题 , finally 中的代码是不会执行的 。而 exit() 方法会执行 JVM 关闭钩子方法或终结器,但 halt() 方法并不会执行钩子方法或终结器 。

【Finally中的代码一定会执行吗?】


推荐阅读