1. 程式人生 > >try-catch裏面加了return後,finally還會執行嗎?

try-catch裏面加了return後,finally還會執行嗎?

nal ati nbsp final 模塊 異常 ava sys 返回

請看下面的方法,在我們的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中的堆棧

try-catch裏面加了return後,finally還會執行嗎?