01try?catch?finally,try里有return,finally还执行么?
肯定会执行。finally{}块的代码。只有在try{}块中包含遇到System.exit(0)。之类的导致Java虚拟机直接退出的语句才会不执行。当程序执行try{}遇到return时,程序会先执行return语句,但并不会立即返回——也就是把return语句要做的一切事情都准备好,也就是在将要返回、但并未返回的时候,程序把执行流程转去执行finally块,当finally块执行完成后就直接返回刚才return语句已经准备好的结果。
来自:Java关键字-异常(try/catch)