1.finally 块一般都会执行.
2.除非 程序还没执行到对应的try块就抛出异常,程序停止.
int ss=1/0; //抛出异常
returnNum(); //执行不到代码
}
final static void returnNum() {
try {
// return;
//int a=1/0;
} finally {
System.out.println("finally块");
}
}
3.或者手动停止虚拟机
final static void returnNum() {
try {
System.exit(0); //退出虚拟机
} finally {
System.out.println(“finally块”);
}
}
除了上面两种情况,其他都会执行finally
final static void returnNum() {
try {
return; //不会立马执行 在finally后return
} finally {
System.out.println("finally块");
}
}
有返回值的,也会执行到最后 返回最终的结果.