Exception三 子父类异常

子父类异常

  • 如果父类抛出多个异常,子类重写父类方法时,抛出和父类相同的异常或者是父类异常的子类或者不抛出异常
  • 父类方法没有抛出异常,子类重写父类该方法时也不可以抛出异常,此时子类产生该异常,只能捕获处理,不能声明抛出

代码举例

public class Demo09FuZI {
 public void show01()throws NullPointerException,ClassCastException{};
public void show02()throws IndexOutOfBoundsException{};
public void show03()throws IndexOutOfBoundsException{};
public void show04(){};

}
class Zi extends Demo09FuZI{
//1.抛出相同的异常
@Override
public void show01()throws NullPointerException,ClassCastException{};
//2.抛出父类异常的子类

@Override
public void show02() throws ArrayIndexOutOfBoundsException {

}
//3.子类重写方法时,不抛出异常

@Override
public void show03() {

}
//父类方法没有抛出异常,子类重写父类该方法时也不可以抛出异常,此时子类产生该异常,只能捕获处理,不能声明抛出
@Override
public void show04() {
    try {
        throw new Exception("编译器异常");
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}

猜你喜欢

转载自blog.csdn.net/tangshuai96/article/details/102543428