找工作时,有这样一道题: try{}里面有一条return语句,那么紧跟在这个try后的finally{}里的代码会不会执行,什么时候执行,在return之前还是之后? 我没有怎么思考,根据脑子里仅有的一点异常知识,给出了下面的解: 如果try{}没有抛出异常,那么finally{}里的代码不会执行. 如果try{}抛出异常,那么finally{}里的代码会执行,在return之前. 借助下面的代码验证一下: private static int testFinally() { try { Sy…