finally实践

实践

try里异常

    public static void main(String[] args) {
        try {
            System.out.println("正常执行");
            throw new RuntimeException();
        } catch (Exception e) {
            System.out.println("异常处理");
//            int x = 1 / 0;//制造异常
        } finally {
            System.out.println("finally 代码");
        }
        System.out.println("继续执行");
    }

如果是try里发生异常,则会执行catch,再执行finally,然后再执行后续代码
输出结果

正常执行
异常处理
finally 代码
继续执行

catch代码块异常

    public static void main(String[] args) {
        try {
            System.out.println("正常执行");
            throw new RuntimeException();
        } catch (Exception e) {
            System.out.println("异常处理");
            int x = 1 / 0;//制造异常
        } finally {
            System.out.println("finally 代码");
        }
        System.out.println("继续执行");
    }

在finally代码块执行后,不会继续执行

正常执行
异常处理
finally 代码

finally代码块异常

    public static void main(String[] args) {
        try {
            System.out.println("正常执行");
        } catch (Exception e) {
            System.out.println("异常处理");
        } finally {
            System.out.println("finally 代码");
            int x = 1 / 0;//制造异常
        }
        System.out.println("继续执行");
    }

finally 代码执行后,通过异常结束

正常执行
finally 代码

posted @ 2020-10-28 17:32  刃牙  阅读(69)  评论(0编辑  收藏  举报