当前位置: 代码迷 >> java >> java RuntimeExceptions和Errors
  详细解决方案

java RuntimeExceptions和Errors

热度:13   发布时间:2023-08-02 10:41:47.0

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

“未经检查的异常,也称为运行时异常...”

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

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

运行时异常是Java运行时环境中的内部错误。

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

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

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

这种解释的最佳位置是 。 Throwable是超级类,其中有ErrorException RuntimeExceptionException下的子类。

  • Error及其子类未选中。
  • 检查Exception及其子类;
    • 除了RuntimeException分支。

ErrorRuntimeException类之间的区别是

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

不应该捕获错误,因为它是由严重问题引起的。 RuntimeException仅在运行时抛出,并且当您没有将fence放入可能抛出它们的代码时,编译器不会抱怨。 应该捕获已检查的异常或在调用级别发送异常

运行时异常不需要具有try-catch块,构造函数或方法也不需要throws语句。

来自oracle的做了一些很好的解释。

  相关解决方案