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

解决方案 »

  1.   

    try里面的语句写错误的时候finally就不会执行
      

  2.   

    finally语句不被执行的唯一情况是先执行了用于终止程序的System.exit()方法。如果在执行try代码块时,突然关掉电脑的电源,所有进程都终止运行,也不会执行finally语句。
      

  3.   

    catch{
    System.exit(-1)
    }
    进到catch里以后程序直接退出 finally就不会执行了 
      

  4.   

    这种
    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();
    }
    }
      

  5.   

    有三种情况
     1,在finally语句块中发生了异常;
     2,在前面的代码中用了System.exit()推出程序
     3,程序所在的线程死亡