关于catch异常后的处理顺序

今天自己写东西的时候 想反回一个结果 却发现自己思路有点乱 自己写了代码搞清楚了。

public class Test {
    public static void main(String[] args) {
        Lx lx = new Lx();
        System.out.println(lx.add());
    }
}
class Lx {
    public String add() {
        try {
            String user = null;
            System.out.println(user.charAt(0));
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("失败");
        }
        return "成功";
    }
}

可以看到结果 ,在catch到了异常之后仍然会执行后面的代码块。那么是不是try里的代码就不执行了呢?请看下个代码块。在这里插入图片描述
再看这段代码,

public class Test {
    public static void main(String[] args) {
        Lx lx = new Lx();
        System.out.println(lx.add());
    }
}
class Lx {
    public String add() {
        try {
            String user = null;
            System.out.println(user.charAt(0));
            System.out.println("1");
            System.out.println("2");
            System.out.println("3");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("失败");
        }
        return "成功";
    }
}

结果我们看到123并没有打印,所以TRY里面的代码块不会再执行。
希望对大家有帮助。

在这里插入图片描述

发布了42 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41935885/article/details/89249312