java - 为什么Java中的运行时异常是 "unchecked"?

标签 java runtime checked-exceptions

为什么让运行时异常UnChecked(而不是如果它们被Checked)有意义?

最佳答案

如果不这样做,则每次访问数组元素、执行除法运算和许多其他常见场景时都必须使用 try/catch block 。

换句话说,想象一下这段代码:

Map map = ...
int i = ...
(int[])map.get("foo")[3] = 2334 / i;

必须检查 ClassCastExceptionArrayIndexOutofBoundsExceptionArithmeticExceptionUnsupportedOperationExceptionNullPointerException 就在我的脑海中。

对于 Java,问题不在于未经检查的异常。检查异常是一个极具争议的话题。有人说这主要是 Java 的实验,实际上它们不起作用,但您会发现很多人认为它们很好。

然而,没有人认为未经检查的异常是不好的。

关于java - 为什么Java中的运行时异常是 "unchecked"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1656376/

相关文章:

c# - 在运行时编译程序集并将dll保存在文件夹中

c# - 视觉 C# : Compile with Runtime DLLs

java - 如何包装检查的异常但在 Java 中保留原始的运行时异常

syntax - 将 throws 子句放在属性声明中的什么位置?

java - 在 Magnolia/JCR-SQL2 中获取所有 sibling ,上一个和下一个

java - 如何覆盖 java 枚举中的(最终)equals 方法?

java - 如何在接口(interface)中使用泛型干净地处理未经检查的转换?

java - Java 8 流中的 LINQ Enumerable.Single()

docker - Docker 容器的开发标签和运行时标签有什么区别?

java - 如果未处理 RuntimeException,我可以将 Eclipse 设置为显示警告吗?