发布日期:2018-03-26
在Java中finally总是会被执行吗?+ 查看更多
在Java中finally总是会被执行吗?
+ 查看更多
发布日期:2018-03-10 14:13
分类:JAVA
浏览次数:80
我有一个带有返回值的try/catch块,finally块会被调用吗?
例如
例如
try { something(); return success; } catch (Exception e) { return failure; } finally { System.out.println("i don't know if this will get printed out."); }
我知道我可以直接输入这段代码看看会发生什么(这也是我真正要做的事情),但是当我在谷歌上查找答案时什么也没有,所以我想我应该把这个以问题的形式抛出。
回答:
finally会被调用
finally不会被调用的情况如下:
1. 如果你调用System.exit()
2. 如果JVM首先崩溃
3. 如果在try块中有一个无限循环
4. 如果电源被关闭
1. 如果你调用System.exit()
2. 如果JVM首先崩溃
3. 如果在try块中有一个无限循环
4. 如果电源被关闭