java异常拓展

异常拓展

常用的为前两种构造方法:

java异常拓展

------------------------------------------------------------------

 

利用无参构造,new一个exception

java异常拓展

---------------------------通过继承的关系来看异常---------------------------

父类抛出异常子类也可以抛出同一个异常

java异常拓展

------------------------------------------------------------------

父类抛出异常子类也可以不抛出异常

java异常拓展

------------------------------------------------------------------

父类不抛出异常子类也不能抛出异常

java异常拓展

------------------------------------------------------------------

父类不抛出异常子类也不能抛出异常

java异常拓展

------------------------------------------------------------------

 

 

结论:

1.父类没有异常,子类也不应该有异常抛出;父类有异常抛出,子类可以不抛出异常。

2.子类可以抛出父类异常的子集:比如我的父类异常为Exception,我的子类的异常就可以为NullPointerException:

java异常拓展

3.但是子类不能抛出比父类异常大的异常类:

java异常拓展

符合继承中的向上引用