尽管Java已经预定义了许多异常类,但有时还需要定义自己的异常。编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。
自定义异常类需要继承Exception。
当然也可选用Throwable作为父类。其中无参数构造方法为创建缺省参数对象提供了方便。
第二个构造方法将在创建这个异常对象时提供描述这个异常信息的字符串,通过调用超类构造方法向上传递给父类,对父类中的toString()方法中返回的原有信息进行覆盖。
class MyException extends Exception{ private int detail; public MyException(int detail) { this.detail=detail; } @Override public String toString() { return "MyException{传参失败:"+detail+"}"; } } public class test { //private static Object MyException; public test(int a) throws MyException { if(a>10) { throw new MyException(a); } else{ System.out.println("传参成功"); } } public static void main(String[] args) throws MyException { new test(12); } }