问题:
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