不同情況下return和finilly的執行順序

不管有木有出現異常,finally塊中代碼都會執行;

當try和catch中有return時,finally仍然會執行;

如果語句上的執行順序是先return后finally,會先執行return后面的語句,這個語句的結果是最終的返回值result。result會被保存下來,再執行finally,待finally執行完成后,再結束函數,將result的值返回。這種情形的finally對變量的值修改不會影響最終的函數返回。

finally中最好不要包含return,否則程序會提前退出,返回值不是try或catch中保存的返回值。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 舉例: Case1:try{} catch(){}finally{} return;顯然程序按順序執行。 Case...
    _Justin閱讀 583評論 0 1
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,739評論 18 399
  • 人嘛,總是習慣于依賴的。 堅強的土撥鼠,生活雖然沒有你想象的那么好,但是也沒有你想的那么壞,我們都應該笑著生存下...
    盤子君閱讀 531評論 0 1
  • 我把昨天在朋友圈發現這個小組看做是發現一條新旅途,今天是加入寫作馬拉松群的第一天,我把今天這一篇看做是旅途的開始。...
    Richard1015閱讀 129評論 0 0
  • 昨晚睡不著,感謝媽媽用知心話說出我的感受,讓我暫時放了一部分傷痛,內心向暖,很安心,踏實的睡了一個好覺。
    KLsaid閱讀 127評論 0 0