我对例外有一些疑问。
谁能告诉我为什么 java 不允许我们在子类中创建 Checked Exception 而它允许在子类中创建 Unchecked 异常
下面的示例在我使用 'throws IOException' 时抛出编译时错误,但是当我在子类中使用 'throws ArithmeticException' 时它不会抛出任何错误。我只是想知道它背后的实际原因,请问可以吗?
这是代码(你会得到编译时错误)
package com.exception.test;
import java.io.IOException;
public class Parent {
void msg() {
System.out.println("Parent...");
}
public static void main(String[] args) {
Parent parent = new Child();
parent.msg();
}
}
class Child extends Parent {
void msg() throws IOException {
System.out.println("Child...");
}
}
//使用unCheckedException
package com.exception.test;
import java.io.IOException;
public class Parent {
void msg() {
System.out.println("Parent...");
}
public static void main(String[] args) {
Parent parent = new Child();
parent.msg();
}
}
class Child extends Parent {
void msg() throws ArithmeticException {
System.out.println("Child...");
}
}