catchfinally语句块输出顺序

Posted 呵呵静

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了catchfinally语句块输出顺序相关的知识,希望对你有一定的参考价值。

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代码块,所以一般关闭数据库资源等等必须要执行的一般会放在该代码块中

以上是关于catchfinally语句块输出顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java代码块

静态代码块与非静态代码块

代码块

try,catch和finally的执行顺序是啥[重复]

代码块

使用Java实现面向对象编程