此声明/示例对已检查和未检查的异常是否有效?
未选中的例外情况: 在编译时未检查的异常称为未经检查的异常。 示例:
public class UncheckedException {
public static void main(String[] args) {
int value = 10/0;
}
}
检查异常: 在编译时检查的异常称为已检查异常。 示例:
public class CheckedException {
public static void main(String[] args) {
try {
int value = 10/0;
} catch (Exception e) {
System.out.println("Caught " + e);
}
}
}
答案 0 :(得分:4)
不,这不是一个有效的例子/插图。在这两种情况下,抛出的异常都是未经检查的异常。
已检查的异常与未经检查的异常之间的区别是异常类。
ArithmeticException
始终是未经检查的例外,因为它会延伸RuntimeException
IOException
是一个经过检查的例外,因为它不会延伸RuntimeException
(或Error
)。
您执行或不执行异常的事实不会改变其性质。
冒着重复自己的风险:
未经检查的异常:在编译时未检查的异常称为未经检查的异常。
Checked Exception:在编译时检查的异常称为Checked exceptions。
这些都是不正确的定义。