.try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally{}里的代码会不会被执行,什么时候被执行,在 return 前还是后?
时间: 2024-04-11 10:32:36 浏览: 113
关于Java中try finally return语句的执行顺序浅析
5星 · 资源好评率100%
在try块中的return语句之前,紧跟在try块后面的finally块中的代码会被执行。finally块中的代码无论是否发生异常,都会在try块中的return语句执行之前被执行。
当发生异常时,异常会被抛出并由上层调用栈处理,但是在异常被抛出之前,finally块中的代码会被执行。如果没有发生异常,try块中的代码执行完毕后,也会执行finally块中的代码。
需要注意的是,如果在finally块中也包含了return语句,则会在执行完finally块中的代码后,再次回到try块中的return语句进行返回。如果finally块中抛出了异常,那么整个方法会以finally块中抛出的异常为准进行处理。
阅读全文