return 討論爲何去執行過finally再去執行return呢,java機制中具體怎麼工做的

public class finallyTest {

public static void main(String[] args) {
// TODO Auto-generated method stub

try {
System.out.println(1);
return ;
} catch (Exception e) {
// TODO: handle exception
}
finally{
System.out.println(2);
}
System.out.println(3);
}

}

return 討論爲何去執行過finally再去執行return呢,java機制中具體怎麼工做的,爲何finally具備最高的優先級呢,java是怎麼樣保證finally具備最高優先級的

可是程序中有finally就必定會執行嗎?答案是否認的由於只有與 finally 相對應的 try 語句塊獲得執行的狀況下,finally 語句塊纔會執行。若是在try以前拋出異常或return則不會執行finallyjava

可是在執行try時,若是try中有return程序又怎麼會不是return執行的呢,而是在return以前先去執行finally呢?spa

相關文章
相關標籤/搜索