黑马程序员技术交流社区
标题:
finally为什么没有被执行啊
[打印本页]
作者:
彭润生
时间:
2012-9-20 21:05
标题:
finally为什么没有被执行啊
public void test(){
try{
System.out.println("hehheaaaa");
System.exit(0);//
这一句话被执行了,为什么finally里面的语句没有被执行?
}catch(Exception e){
}finally{
System.out.println("hahha");
}
}
作者:
严海荣
时间:
2012-9-20 21:10
System.exit(0)是终止当前正在运行的 Java 虚拟机。全部结束了,欧了。
像图形用户界面,打开后在窗口关闭事件里调用System.exit(0)就关闭了窗口。
作者:
明光照
时间:
2012-9-20 21:13
查一下API,System.exit(0)直接 终止当前正在运行的 Java 虚拟机,后面的肯定不会执行了啊
作者:
赵永康
时间:
2012-9-20 21:16
fiinally语句只有在一种情况下执行不了,就是遇见了System.exit(0);这句话的意思就是终止当前正在运行的程序。是System。类中的方法。
作者:
张小龙
时间:
2012-9-20 21:17
这里System.exit(xx参数)不管参数为何值都会退出程序。如果是0表示正常退出,如果非0表示非正常退出
和return 相比有以下不同点:return是回到上一层,而System.exit(xx参数)是回到最上层
所以说已经结束了虚拟机,就不会再向下执行了啊
作者:
杨卫腾
时间:
2012-9-20 21:33
System.exit(0);//这一句话被执行了,为什么finally里面的语句没有被执行?
这条语句是退出JVM的 都退出了虚拟机了 怎么还会执行到下面的语句呢。
作者:
彭润生
时间:
2012-9-20 21:47
严海荣 发表于 2012-9-20 21:10
System.exit(0)是终止当前正在运行的 Java 虚拟机。全部结束了,欧了。
像图形用户界面,打开后在窗口关闭 ...
知道了,记住了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2