子类声明异常的范围不能超过父类声明的范围:
1. 父类没有声明异常,子类也不能;
2.不可以抛出原有方法抛出异常类的父类或者上层类
3.抛出的异常类型数目不可以比原有方法抛出的还多
例如:
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;
import java.time.format.DateTimeParseException;
import java.util.zip.DataFormatException;
public class A {
public void s() throws IOException{ }
}
class B extends A{
public void s() throws FileNotFoundException{ }
}
class C extends A{
public void s(){ }
}
class D extends A{
public void s() throws IOException,FileNotFoundException{ }
}
class E extends A{
public void s() throws IOException,ArithmeticException,DateTimeParseException{ }
}
class F extends A{
public void s() throws Exception{ }//拋出了父类抛出异常类的父类,错误
}
class G extends A{
public void s() throws IOException,DataFormatExceptionException{ }
//错误,因为DataFormatExceptionException的父类也是Exception,所以超出了范围
}
---------------------
作者:m_target
来源:CSDN
原文:https://blog.csdn.net/m_target/article/details/80397579
版权声明:本文为博主原创文章,转载请附上博文链接!