try catch finally 中 return 的使用


當一個方法中的 try catch finally 當有return時的執行順序?
        一個不為void的方法必須有返回值,所以在finally或try catch finally 語句之后必須有 return語句。因為return語句之后的代碼無意義,
        所以return肯定位於try中、catch中、finally中、方法體末尾,其中位於finally和方法體末尾的return語句效果一樣可看做一種return。
        finally中和try catch finally語句之后只能有一個return。
        當finally或語句之后有return時,方法最終的返回值就是該return的值。
        當try中有異常時,位於異常之后的代碼都沒有意義,此時return不會執行。
        return語句優先級:    finally > catch > try
        當try catch finally執行到return語句時,會先把該return的值保存下來,繼續執行finally

  如果try catch finally 中有多個return 則最終返回最后一次return的值。

  如果finally中有return那就把finally中的返回值當作方法體的返回值返回。

  如果finally中沒有return返回catch中的return值,如果catch中也沒有就返回try中的值,如果都沒有方法體繼續向下執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM