第七章 异常总结

代码部分:

public class Test1 {
    public static void main(String[] args) {
        try {
            div(1);
            System.out.println("正常输出结束");
        } catch (Exception e) {
            System.out.println("捕获异常");
            // TODO: handle exception
        }
    }

    public static void div(int num) throws Exception
    {
        if(num==1)
            throw new Exception();
            
        System.out.println("............");
    }
}

这段代码的正确结果为:捕获异常.

为什么?

因为在执行main()方法调用了div()方法,div方法执行步骤是先判断形参的值是(1),判断输入的为1,抛出异常,下面的代码都不会再执行,然后把异常抛给了他的方法的异常集,因为该方法有异常集,所以在main()方法中需要加try-catch块,或者给main()方法添加异常集,由于添加异常集的话,该异常相当于重新给了java虚拟机,还是无法给出人性化的提示,所以只能加try-catch块,因为该方法传入的参数导致该方法出现了异常,所以在main()方法中的catch块会执行,所以输出"捕获异常";

原文地址:https://www.cnblogs.com/myhome-1/p/5549917.html