Java中finally代码块执行情况总结

Java中,finally块是一个可选的代码块,它与try语句和catch语句一起使用。finally块的主要用途是确保无论try代码块内发生了什么(是否抛出异常),都能执行一些重要的清理操作,如关闭文件、释放资源等。

1、 try catch finally使用方法

try {  
something();
return success;
}
catch (Exception e) {
return failure;
}
finally {
System.out.println("i don't know if this will get printed out.");
}

2、finally代码块调用执行情况

finally将在执行try或catch代码块后调用

下面情况不会执行finally代码块:

1)如果调用System.exit();
2)如果JVM首先崩溃;
3)如果JVM在try或catch块中到达无限循环(或其他一些不可中断的,非终止语句);
4)如果操作系统强行终止JVM进程; 例如UNIX上的“kill -9”。
5)如果主机系统死亡; 例如电源故障,硬件错误,操作系统宕机等。
6)如果finally块将由守护线程执行,并且所有其他非守护线程在最终被调用之前退出。

推荐阅读
cjavapy编程之路首页