-
finally中的代碼是總會執行的,執行完try或者catch後都要執行finally。
-
如果try或者catch中有return的話,在執行return之前先要執行finally中的代碼。(如果finally中沒有return的話,即使在finally中修改了將要return的值也不會生效,返回結果仍然是try或者catch中的return值;如果finally中有return的話,返回finally中的值。)
public class Main {
public static void main(String [] args){
System.out.println(test());
}
public static int test(){
int a=1;
try{
a=6;
System.out.println("try"+a);
return a;
}
catch(Exception e){
}
finally{
a=5;
System.out.println("finally"+a);
//return a;
}
System.out.println("end"+a);
return a;
}
}