黑马程序员技术交流社区
标题:
关于异常中finally代码块的问题
[打印本页]
作者:
唐巍
时间:
2012-3-11 03:52
标题:
关于异常中finally代码块的问题
finally代码块中的代码是不是一定会被执行?有finally代码块中的代码不会执行的情况吗?
作者:
李明伟
时间:
2012-3-11 07:41
本帖最后由 李明伟 于 2012-3-11 07:49 编辑
finally一般是与try catch一起使用的,先执行try内的语句,如果异常。就执行catch,最后执行finally中的代码,但是如果finally内也使用了try catch,如果发生了异常则不会全部执行finally内的语句,还有就是如果在finally执行之前程序就退出啦,例如执行啦,System.exit(0),或者是程序进入了死循环,都不会执行finally语句
作者:
宋洪祥
时间:
2012-3-11 09:22
通常情况下,finally代码块是会被执行的,但是,
如果程序永远也不会运行到那里去,finally的代码就不会被执行
作者:
王杰
时间:
2012-3-11 09:32
楼上说的很详细了。我就附上一段finally块没有执行的代码吧。
class Test
{
public static void main(String[] sg)
{
try{
throw new Exception("抛出异常");
}
catch(Exception e){
System.exit(0);
}
finally{
System.out.println("finally代码块")
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2