异常总结

复制代码
public class Test {
       public void add(int i) throws NullPointerException{
               if(i==0)
                throw new NullPointerException();
                System.out.println("add出现异常");       
      }    
      public static void main(String[] args) {
              Test t = new Test();
              try{
                    t.add(0);
                    System.out.println("add方法返回");
              }catch(Exception e){
                    System.out.println("捕获异常");
              }       
       }
}
复制代码

运行结果: 捕获异常

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

原文地址:https://www.cnblogs.com/WuXuanKun/p/5556155.html