异常与方法覆盖
在方法覆盖时,重写之后的方法不能比重写之前的方法抛出更多(更宽泛)的异常,可以更少(更小)的异常
class Animal{
public void doSome(){
}
public void doOther() throws Exception{
}
}
class Cat extends Animal{
//编译错误
/*public void doSome throws Exception() {
}*/
//编译正常
/* public void doOther(){
}*/
//编译正常
/* public void doOther() throws Exception {
}*/
//编译正常
public void doOther() throws NullPointerException{
}
}