异常的限制(异常在类继承的重写方法限制)
1.当覆盖方法时,只能抛出在基类方法的异常说明里列出来的异常;
可以子类重写的方法不抛出异常或者抛出少于基类方法的异常;
也就是在继承和覆盖的过程中,某个特定方法的“异常说明的接口”不是变大了而是变小了。
2.异常限制对构造器不起作用;
由于派生类构造器需要调用基类构造器,
所以派生类构造器的异常说明必须包含基类构造器的异常说明。
3.派生类重写的方法可以抛出基类方法异常说明里对应的子类异常。
通过强制派生类遵守基类方法的异常说明,可以在基类对象替换成子类对象引用方法时,可以不用修改代码,对象的可替换性得到了保证;
所有的以上限制为了能产生更为健壮的异常处理代码。