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

 

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