請看下面的方法,在我們的catch里面,捕獲到了異常之后,我們的catch模塊里面的語句,還會接着執行,當我們執行到return之后,我們不會立即返回,而是會接着執行finally塊里面的代碼,只有執行完,才會繼續執行我們的return值,
public static Boolean testQQ(){
Boolean f=true;
int a=0;
try{
throw new Exception("new Exception");
}catch(Exception e){
f=false;
return f;
}finally{
System.out.println("finally");
a=1;
}
}
那么問題來了,加入我們在finally里面執行一個f=true的話,我們執行完finally之后,返回的值是true還是false呢
這個問題涉及到我們java-jvm中的堆棧