子类抛出的异常类型不能比父类抛出的异常类型更宽泛!
是说覆盖父类方法抛出的异常只能是以下情况(比如父类抛出IOEception异常):
1.要和父类方法抛出的异常一致,抛出IOEception异常
2.抛出的异常是父类抛出异常的子类,如EOFException异常
3.不抛出异常。
4.java.lang.RuntimeException异常或者其子孙类异常
在catch子句中心抛出一个比父类型更宽泛的异常。可以。
runtime异常,比如0除以0会抛出ArithmeticException的异常就属于runtime异常,这种异常可以不捕获、可以不抛出。他不是IOEception的子孙类异常