Java的finally话语不会被执行的唯一情况
Java的finally语句不会被执行的唯一情况
Java的finally语句不会被执行的唯一情况是:先执行了用于终止程序的System.exit()方法。如下面的代码:
public class Test { public static void main(String[] args) { try { System.out.println("Start"); System.exit(0); }finally { System.out.println("Finally"); } System.out.println("End"); } }
输出结果为:Start
当然,如果在执行一般的没有System.exit()语句的try语句时,突然断电了,这时所有进程都会终止,也不会执行finally语句。
1 楼
lh870003574
2012-06-26
呵呵,这应该不是唯一情况吧~~~
考虑多线程,当线程是后台模式时就有可能不执行finally~~
考虑多线程,当线程是后台模式时就有可能不执行finally~~
2 楼
lh870003574
2012-06-26
在不终止VM的情况下,finally中的代码一定会执行。