为什么RuntimeException扩展Exception而不是其他方式?

Ato*_*tom 2 java exception

我可以想象我想要只捕获已检查的异常而不是未经检查的异常的情况.我无法想象以另一种方式做到这一点.

Han*_*ani 5

必须再次捕获或抛出已检查的异常,否则您的代码将无法编译.因此,在整个代码中,您必须明确地处理它们中的每一个(抛出或捕获).

并且为什么只有被检查的例外没有共同的父母:

他们希望你明确地处理每一个.

想到自己编写一个方法,并使这个方法抛出一个已检查的异常.当你这样做时,你希望方法的用户使用此异常的代码显式处理此异常(如果您不关心处理异常的函数的用户,则会抛出运行时异常(未选中)).

因此,检查异常的整个想法是函数创建者和用户之间的契约,它强制用户处理此异常.