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