关于异常的问题我们要注意的最后一个问题就是,继承关系下的异常处理:
子类的函数一定要抛出与父类相同的异常才可以。
举个例子:
class a
{
public void method() throws IOException{}
}
class b extends a
{
public void method() throws IOException{} //这里不能抛出其他的异常类型,如抛出Exception异常类就是错误的。
}
b为a的子类,b类中的父类函数重写方法时只能抛出与父类函数相同的异常才可以。当然也可以不抛出异常。
比如:
class b extends a
{
public void method() {}
}
这样是可以的
子类的函数一定要抛出与父类相同的异常才可以。
举个例子:
class a
{
public void method() throws IOException{}
}
class b extends a
{
public void method() throws IOException{} //这里不能抛出其他的异常类型,如抛出Exception异常类就是错误的。
}
b为a的子类,b类中的父类函数重写方法时只能抛出与父类函数相同的异常才可以。当然也可以不抛出异常。
比如:
class b extends a
{
public void method() {}
}
这样是可以的
转载于:https://blog.51cto.com/344551/67290