遇到下面的情况首先应该想到要抛异常:
1、调用一个抛出一检查异常的方法,例如FileInputStream构造器;
2、程序运行过程发生错误,并且利用throw语句抛出一个已检查异常;
3、程序出现错误,例如a[-1] = 0会抛出一个ArrayOutOfBoundsException这样的为检查异常;
4、Java虚拟机和运行时库出现的内部异常。
如果出现前两种情况,则必须告诉调用这个方法的程序员有可能抛出异常;
而且,如果一个方法有可能抛出多个已检查异常,那么就必须在方法的首部列出所有的异常类,每个异常之间用逗号隔开;
一个方法必须声明所有可能抛出的已检查异常。
注意:
1、如果子类中覆盖了超类的一个方法,子类方法中声明的已检查异常不能超过超类方法中声明的异常范围(子类方法中抛出的异常范围更小,或者根本不抛出任何异常);
2、如果超类方法没有抛出任何已检查异常,子类也不能抛出任何已检查异常。
|
|