不要在 Try Catch 中執行 return
離開 try 區塊有三種可能:
- 拋出異常
- try 區塊正常的結束
- 在 try 區段執行了 return, break 或是 continue。
然後千萬要記住 無論是否 catch exception ,都將進入 finally block。
1 | public int confusedReturn(){ |
這段程式碼很容易讓人混亂,到底最後回傳 2 還是回傳 4 ( 答案是回傳 4 )。過去以為看到 return 程式會立即回傳,在這樣的條件下就失效了,也因為這個原因會讓開發者的除錯變得相當困難。
為了避免這樣的情形發生,盡可能不要在 Try catch 的 block 進行 return。