Java在try中return后finally还执不执行?

Java方法中,,在try中return之后,后面的finally还执行吗? 测试代码如下:

(){try{System.out.println(“try”);return 1;}catch(Exception e){return 0;}finally{System.out.println(“finally”);}}

直接看结果:

try finally

原因: finally语句在return之前执行。

如果在finally中再加上一个return呢? 测试代码如下:

public class Main {(String[] args) {System.out.println(print());}(){try{System.out.println(“try”);return 1;}catch(Exception e){return 0;}finally{System.out.println(“finally”);return 2;}}}

结果如下:

try finally 2

深入理解: 《关于 Java 中 finally 语句块的深度辨析》

你挤进地铁时,西藏的山鹰一直盘旋云端,

Java在try中return后finally还执不执行?

相关文章:

你感兴趣的文章:

标签云: