A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彭卫红 中级黑马   /  2014-8-29 21:20  /  996 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在异常中finally中代码是必须执行的,但是有没有可能finally中的代码是不会被执行??
在什么情况下不会被执行???

2 个回复

倒序浏览
当执行到System.exit(0);这条语句的时候,finally{}中的语句不会被执行,原理是执行到System.exit(0);这条语句的时候,JVM停止运行
回复 使用道具 举报
正常情况下是一定会执行的,不排除不可抗力:lol
---------------------------------------------------------
比如,在finally里来了一个System.exit(0);直接退出了,finally里的程序就终止了。
程序跑到finally里的时候,突然电脑死机了,程序终止。
程序跑到finally里的时候,突然停电,程序终止。
---------------------------------------------------------
呵呵,虽然有点扯,但是就这么几种情况,一般也就面试可能会问一问,正常我们写程序不会终止,谁会在finally里写个System.exit(0);,除非脑袋有病。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马