java RuntimeExceptions和Errors

根据“Sams教你自己Java 21天”一书

“Unchecked exceptions, also called runtime exceptions…”

在这个事实下,错误也是运行时异常,因为它们是未经检查的异常(或者它不是它所说的?)

这让我对以下陈述感到困惑.

Run Time Exceptions are internal errors in the Java run time
environment.

如果它讨论java RuntimeExceptions然后,它是假的,因为它们是异常,被描述为“异常描述由程序和外部环境引起的错误.这些错误可以由程序捕获和处理.”

但另一方面,如果它引用java错误,则它们是内部错误.

那个陈述是完全正确还是错误?

解决方法:

这种解释的最佳位置是official documentation.
Throwable是超级类,其中有Error和Exception.
RuntimeException是Exception下的子类.

>错误&它的子类未经检查.
>例外&检查其子类;

>除了RuntimeException分支.

Error和RuntimeException类之间的区别是

>错误不在您的控制范围内.它们通常是一些系统/环境问题;例如OutOfMemoryError异常.
>另一方面,RuntimeException代表程序逻辑中的一个缺陷,即它在你的控制之下.你可以纠正它.例如.空指针异常

上一篇:java – Groovy ConfigSlurper给类文件太大RuntimeException


下一篇:当Java 8 Stream抛出RuntimeException时,预期的行为是什么?