日期:2014-05-20  浏览次数:20702 次

try catch finally 语句块,什么情况finally里的语句不会执行?
try catch finally 语句块,什么情况finally里的语句不会执行?

------解决方案--------------------
try里面的语句写错误的时候finally就不会执行
------解决方案--------------------
finally语句不被执行的唯一情况是先执行了用于终止程序的System.exit()方法。如果在执行try代码块时,突然关掉电脑的电源,所有进程都终止运行,也不会执行finally语句。
------解决方案--------------------
catch{
System.exit(-1)
}
进到catch里以后程序直接退出 finally就不会执行了
------解决方案--------------------
2楼正解
不知道还有没有别的情况
------解决方案--------------------
探讨
catch{
System.exit(-1)
}
进到catch里以后程序直接退出 finally就不会执行了

------解决方案--------------------
这种

Java code

public class T implements Runnable {
    public void run() {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            System.out.println("exception");
        } finally {
            System.out.println("finally");
        }
    }

    public static void main(String[] args) throws Exception {
        Thread t = new Thread(new T());
        t.setDaemon(true);
        t.start();
    }
}