天天看点

finally 不会执行的情况

 在 java 中,finally 有没有可能不会执行的,试看看下面的情况

java代码

    public class testfinally {   

    private static class daemonthread extends thread {   

        @override  

        public void run() {   

            try {   

                timeunit.milliseconds.sleep(1000);   

            } catch (interruptedexception e) {   

                e.printstacktrace();   

            } finally {   

                system.out.println("in finally");   

            }   

        }   

    }   

    public static void main(string args[]) {   

        daemonthread daemon = new daemonthread();   

        daemon.setdaemon(true);   

        daemon.start();   

}

运行结果并没有打印"in finally",因为在主线程结束时,后台线程同样被结束掉,finally没有机会执行。