try-catch-finally執行順序探祕

問題:

1. finally一定會執行到嗎?

2. 如果try或者catch中有return/throw,那麼finally的執行是在return/throw之前還是之後?更有甚者,如果try裏面有"return a",而finally裏面有"return b",那麼最終返回值到底是a還是b?

哪怕資深JAVA程序員都不一定能準確回答這兩個問題。在網上找到一篇不錯的文章:http://www.ibm.com/developerworks/cn/java/j-lo-finally/index.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章