finally是终极的,不管程序运行时是否出现异常, finally都是肯定要执行的,如果程序没有出现异常,那么catch中的语句不会执行,如果写在finally中 是肯定能运行的到的
===========================================================
一个比较绕的例子:
try {
try {
try {
String s = null;
s.charAt(0);
} catch(NullPointerException nu) {
System.out.println(nu);
int i = 0;
int j = 10 / i;
} finally {
System.out.println("Finally");
}
} catch(ArithmeticException e) {
System.out.println(e);
throw new IOException();
} finally {
System.out.println("Finally 2");
}