本文主要介绍Java中try catch finally异常处理中,finally代码块的使用以及finally代码块执行情况,和一些极端不会执行的情况。

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块将由守护线程执行,并且所有其他非守护线程在最终被调用之前退出。