为什么让运行时异常UnChecked(而不是如果它们被Checked)有意义?
最佳答案
如果不这样做,则每次访问数组元素、执行除法运算和许多其他常见场景时都必须使用 try/catch block 。
换句话说,想象一下这段代码:
Map map = ...
int i = ...
(int[])map.get("foo")[3] = 2334 / i;
必须检查 ClassCastException
、ArrayIndexOutofBoundsException
、ArithmeticException
、UnsupportedOperationException
和 NullPointerException
就在我的脑海中。
对于 Java,问题不在于未经检查的异常。检查异常是一个极具争议的话题。有人说这主要是 Java 的实验,实际上它们不起作用,但您会发现很多人认为它们很好。
然而,没有人认为未经检查的异常是不好的。
关于java - 为什么Java中的运行时异常是 "unchecked"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1656376/