异常 Class 已声明但未抛出
Exception Class declared but not thrown
这里的测试没有抛出异常对象,但我已经处理了它。由于 Exception 是一个已检查的异常,它不应该在 catch 块中抛出无法访问代码的编译器错误
class Ece extends Exception {}
public class Excep {
public static void test() { }
public static void main(String[] args) {
try {
test();
} catch (Exception E) {
}
}
}
class Exception
有 RuntimeException
作为子class。 RuntimeException
及其子class 不需要在方法签名中声明。
在这种情况下,您正在捕获 Exception
的所有可能子class,包括所有不需要签名声明的子class。例如,如果您的 test
方法抛出 ArrayIndexOutOfBoundsException
,您将能够捕获并处理它,但 test
签名不会受到影响。
进一步阅读here
这里的测试没有抛出异常对象,但我已经处理了它。由于 Exception 是一个已检查的异常,它不应该在 catch 块中抛出无法访问代码的编译器错误
class Ece extends Exception {}
public class Excep {
public static void test() { }
public static void main(String[] args) {
try {
test();
} catch (Exception E) {
}
}
}
class Exception
有 RuntimeException
作为子class。 RuntimeException
及其子class 不需要在方法签名中声明。
在这种情况下,您正在捕获 Exception
的所有可能子class,包括所有不需要签名声明的子class。例如,如果您的 test
方法抛出 ArrayIndexOutOfBoundsException
,您将能够捕获并处理它,但 test
签名不会受到影响。
进一步阅读here