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~~ 2 楼 lh870003574 2012-06-26 在不终止VM的情况下,finally中的代码一定会执行。