为什么Class CloneNotSupportedException是一个已检查的异常而不是扩展RuntimeException呢?

5
< p >如果 < code >clone() 的调用者遇到了 CloneNotSupportedException ,他们该如何恢复?为什么它是一个“已检查异常”?

1个回答

10
为什么这是一个已检查异常?
我猜答案是:“因为Java刚出来时,人们对于何时将异常设置为已检查缺乏经验。” 那时候,他们还没有《Effective Java》:)
有许多类似的情况-异常被检查但可能不应该被检查,或者异常未被检查但应该被检查的情况……Integer.parseInt抛出NumberFormatException可能是最清楚的例子。

你认为 IOException 作为一个 checked 异常是怎么看的?它难道不应该是一个 unchecked 异常吗? - Geek
3
我们只能祝福每一种情况,即他们“错误地”未经检查地作出了例外。 :) - Marko Topolnik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接