自定义异常和小结

自定义异常和小结:


自定义异常:

package com.cheng.Exception;
//自定义异常类要继承Exception
public class MyException extends Exception{
   //传递参数
   private int detail;
   public MyException(int a){
       this.detail = a;//传递参数给detail
  }
   @Override//方法的重写
   public String toString() {
       return "MyException{" + "detail=" + detail + '}';//返回值信息
  }
}

自定义异常的抛出和捕获:

package com.cheng.Exception;

public class Test {

   public static void main(String[] args) {//用test检测抛出然后捕获异常输出信息
       try {
           test(11);//try后检测代码块是否有异常
      } catch (MyException m) {//有MyException异常捕获
           System.out.println("MyException=>" + m);//输出信息
      }
  }

   public static void test(int a) throws MyException{//方法上抛出异常
       System.out.println("传递的参数为:" + a);//输出信息
       if (a > 10){//如果a>10 抛出Exception 传参a的值
           throw new MyException(a);//方法中抛出异常
      }
  }

}

小结:

  1. 在处理运行时异常时,采用逻辑合理规避同时辅助try-catch处理;

  2. 在多重catch块 后面,可以加上一个catch(Exception)来处理可能会被遗漏的异常;

  3. 对于不确定的代码,也可以加上try-catch,处理潜在的异常;

  4. 尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出;

  5. 具体如何处理异常,要根据不同的业务需求和异常类型去决定;

  6. 尽量添加finally语句块去释放占用的资源。

posted @ 2021-07-01 17:03  Dudo1  阅读(37)  评论(0)    收藏  举报