子类重写的父类的方法,其抛出的异常类型只能是被重写的方法的异常类的子类或异常类型一样
比如在多态的情况下,编译时处理异常,编译时向上转型,编译时处理父类的异常没出错,但在运行时候发现比父类的异常还大,catch都罩不住子类的异常,真正执行就会有问题。
所以真正设计时重写的时候被重写的方法的子类方法的异常类型比父类方法的异常类型小,才能编译方法时处理父类的异常没错,运行时因为子类异常不大于父类异常,则不会出问题。
子类重写的父类的方法,其抛出的异常类型只能是被重写的方法的异常类的子类或异常类型一样
比如在多态的情况下,编译时处理异常,编译时向上转型,编译时处理父类的异常没出错,但在运行时候发现比父类的异常还大,catch都罩不住子类的异常,真正执行就会有问题。
所以真正设计时重写的时候被重写的方法的子类方法的异常类型比父类方法的异常类型小,才能编译方法时处理父类的异常没错,运行时因为子类异常不大于父类异常,则不会出问题。