觉得自己有时候经常忘了这点,所以记下,错误才会一点一点减少
1、如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。
2、如果父类方法抛出多个异常,那么子类再覆盖该方法时,只能抛出父类异常的子集。
(也就是父类如果抛多个异常,那么我们不能直接抛Exception异常。)
(如果抛一个异常的时候,是可以抛父类异常的)
3、如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。
子类方法发生了异常,就必须要进行try处理,绝对不能抛。
4、如果在子类的覆盖方法确实需要抛出非父类的异常或者该异常的子类,则必须在内部解决。 |
|