①自定义的异常类继承现有的异常类
②提供一个序列号,提供几个重载的构造器
③注意:子类重写父类的方法,其子类抛出的异常类型只能小于或等于被重写的父类所抛出的异常类型。
④注意:try{ } catch( ){}处理异常时,如果有多个异常类型需要catch,那么需要按照从小到大的顺序依次来处理
以下就是一个简单的自定义异常类:
public class MyException extends RuntimeException {
/**
* 序列化版本号
*/
private static final long serialVersionUID = -8366436158598874411L;
public MyException() {
}
//处理异常我们经常用的e.getMessage();就是这个msg参数
public MyException(String msg) {
super(msg);
}
}
以下是③注意点的示例:
class A {
public void method1() throws IOException {
System.out.println("哈哈");
}
}
class B extends A {
/*
* 此处子类重写父类的method1方法,throws出去的异常只能小于等于IOException,
* 不能比IOException的异常类型还要大,否则,编译不通过。
*/
@Override
public void method1() throws IOException {
System.out.println("不哈哈");
}
}