在 Java 中,finally 有没有可能不会执行的,试看看下面的情况
Java代码
1. public class
2. private static class DaemonThread extends
3. @Override
4. public void
5. try
6. 1000);
7. catch
8. e.printStackTrace();
9. finally
10. "In finally");
11. }
12. }
13. }
14.
15. public static void
16. new
17. true);
18. daemon.start();
19. }
20. }
运行结果并没有打印"in finally",因为在主线程结束时,后台线程同样被结束掉,finally没有机会执行。