Java 语言在哪里定义是否检查 Throwable?

Pao*_*olo 0 java exception

Exception 和 RuntimeException 都继承自 Throwable 并且没有实现任何接口来判断它们是否被检查。

哪里指定了 Exception 被检查并且 RuntimeException 未被检查?它是在语言或 JVM 中硬连线的吗?

Ian*_*rts 5

它在Java 语言规范部分 11.1.1 中定义。

Throwable 它的所有子类统称为异常类。

Exception 是普通程序可能希望从中恢复的所有异常的超类。

Error 是普通程序通常不会从中恢复的所有异常的超类。

Error及其所有子类统称为错误类

[...]

该类RuntimeException是 的直接子类ExceptionRuntimeException是所有异常的超类,在表达式计算期间可能由于多种原因抛出这些异常,但仍然可以从中恢复。

RuntimeException及其所有子类统称为运行时异常类

未经检查的异常类是运行时异常类和错误类。

已检查异常类是除未检查异常类之外的所有异常类。也就是说,被检查的异常类都是Throwableother thanRuntimeException及其子类Error和及其子类的子类。

  • 确实是@MarkoTopolnik。有一次为了澄清而添加的额外句子实际上让事情变得不太清楚...... (2认同)