这里测试没有抛出Exception对象,但是我已经处理了它。由于Exception是一个已检查的异常,因此不应在catch块中引发代码无法到达的编译器错误
class Ece extends Exception {}
public class Excep {
public static void test() { }
public static void main(String[] args) {
try {
test();
} catch (Exception E) {
}
}
}
答案 0 :(得分:1)
类Exception
具有RuntimeException
作为子类。 RuntimeException
及其子类不需要在方法签名中声明。
在这种情况下,您将捕获Exception
的所有可能的子类,包括所有不需要签名声明的子类。如果您的test
方法抛出例如ArrayIndexOutOfBoundsException
,则可以捕获并处理它,但是test
签名不会受到影响。
进一步阅读here