无论try代码块中是否有异常,finally里的代码都会执行
当try和catch代码块中有return语句时,finally仍然会执行
如果try…catch…finally都有return语句,则等待try catch执行完之后,跳过try catch里的return语句只执行finally中的return语句
如果仅仅是try…catch里有return语句,那么在执行return语句之前会先执行finally代码块里的内容
public static void main(String[] args) {
System.out.println(test());
}
public static int test() {
try {
return 1;
}catch (Exception e){
return 2;
}finally {
return 3;
}
}
方法返回值是:3