finally 是不是一定会被执行到?

不一定。下面列举两种执行不到的情况:

(1)当程序进入 try 块之前就出现异常时,会直接结束,不会执行 finally 块中的代码;

(2)当程序在 try 块中强制退出时也不会去执行 finally 块中的代码,比如在 try 块中执行 exit 方法。

发表评论

后才能评论