当前位置: 代码迷 >> J2SE >> try catch finally 语句块,什么情况finally里的语句不会执行?解决方法
  详细解决方案

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

热度:307   发布时间:2016-04-24 12:13:20.0
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();    }}
  相关解决方案