异常注意事项 finally有retum语句、异常注意事项子类异常
异常注意事项 finally有retum语句
如果finally有return语句,永远返回finally中的结果,避免该情况
案例:
public static void main(String[] args) {
int aa = aa();
System.out.println(aa);
}
public static int aa(){
int a = 10;
try {
return a;
}catch (Exception e){
System.out.println(e);
}finally {
// 一定会执行的代码
a=100;
return a;
}
}
}
我们写的变量是一个10 但是如果在finally里返回的话 就会一直循环100
异常注意事项子类异常
子父类抛出了多个异常,子类重写父类方法时,抛出和父类相同的异常或者是父类异常的子类或者不抛出异常
父类没有抛出异常,子类重写父类方法时也可以不抛出异常,此时子类产生该异常,只能捕获处理,不能声明抛出
注意:
父类什么样,子类这么样是。
案例:
public class Ex2 {
public void show01() throws NullPointerException,ClassCastException{
}
}
class zi extends Ex2{
@Override
public void show01() throws NullPointerException, ClassCastException {
super.show01();
}
}