以下过程得出唯一解,那就是,无论 try 还是 catch 中有 return 语句,无论代码有没有捕捉到异常,finally 代码块最终肯定会执行的,放心好了。

try中有 return 语句时:

Java中的 finally 和 return 的执行顺序

运行结果:

Java中的 finally 和 return 的执行顺序


catch 中有 return 且代码捕捉到异常时:

Java中的 finally 和 return 的执行顺序

运行结果:

Java中的 finally 和 return 的执行顺序


附上代码:

public class Finally {

    public static void main(String[] args) {

//        try{
//            return;
//        }catch(Exception e){
//            e.printStackTrace();
//        }finally {
//            System.out.println("finally语句执行-----1");
//        }

        try{
            int i = 1/0;
        }catch(ArithmeticException e){
            e.printStackTrace();
            return;
        }finally {
            System.out.println("finally语句执行-----2");
        }
    }
}

相关文章:

  • 2022-12-23
  • 2022-01-24
  • 2021-09-02
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-09-11
猜你喜欢
  • 2021-10-07
  • 2022-02-09
  • 2022-12-23
  • 2021-04-12
  • 2021-08-17
  • 2022-12-23
相关资源
相似解决方案