首页 > 代码库 > catch、finally语句块输出顺序

catch、finally语句块输出顺序

public class Test {
    public int add(int a, int b) {
        try {
            return a / b;
        } catch (Exception e) {
            System.out.println("catch语句块");
        } finally {
            System.out.println("finally语句块");
        }
        return 0;
    }

    public static void main(String[] args) {
        Test test = new Test();
        System.out.println("第一次结果是:" + test.add(9, 0));
        System.out.println("第二次结果是:" + test.add(9, 3));
    }
}

运行结果:

  catch语句块
  finally语句块
  第一次结果是:0
  finally语句块
  第二次结果是:3  

分析:首先只有抛出异常才会进入catch代码块,而finally语义为最后地,即无论如何都会执行finally代码块,所以一般关闭数据库资源等等必须要执行的一般会放在该代码块中

catch、finally语句块输出顺序