Java 为什么最后block不';不执行?
为什么此代码的最后一个块不执行?它只打印1。在Java 为什么最后block不';不执行?,java,finally,Java,Finally,为什么此代码的最后一个块不执行?它只打印1。在System.exit(0)之后,最后不执行块 void method2() { try { System.out.println("1"); System.exit(0); } finally { System.out.println("3"); } } System.exit(0)实际上会完全停止程序的执行。删除System.exit,因为您实际上并没有试图退出那里
System.exit(0)之后,最后不执行块代码>
void method2() {
try {
System.out.println("1");
System.exit(0);
} finally {
System.out.println("3");
}
}
System.exit(0)实际上会完全停止程序的执行。删除System.exit,因为您实际上并没有试图退出那里的代码 删除SYSTEM.EXIT,因为它会退出整个程序,而不管后面是什么。虽然正在尝试,但它仍然会进入代码块:)系统。退出(0)
在执行最后的块之前终止运行时。将其移动到系统.out之后的最后
块 System.exit()代码>关闭虚拟机。在此之后,唯一可以执行的是使用运行时创建的关闭挂钩。addShutdownHook(线程)
应用程序终止后,代码不会继续执行。你为什么不这么想?