- 方法重写时,子类声明异常能否超出父类的范围?
子类声明异常不能超出父类的范围
[1]父类没有声明异常,子类也不能
[2]不可抛出原有方法抛出异常类的父类或上层类
[3]抛出的异常类型的数目不可以比原有的方法抛出的还多(不是指个数)
class A {
public void method() throws IOException { }
}
class D extends A {
public void method() throws Exception { }
}
这是错误的代码。
如果程序有多个catch,应该子类异常在前,父类异常在后。
因为如果父类异常在前,那后面的子类异常就不会执行了。