Java 运行时异常和错误

标签 java runtimeexception

根据“Sams 在 21 天内自学 Java”一书

"Unchecked exceptions, also called runtime exceptions..."

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

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

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

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

但另一方面,如果它指的是 java 错误,那么它们是内部错误。

那么这个说法到底是对还是错?

最佳答案

此类解释的最佳位置是 official documentation . Throwable 是父类,其下有ErrorExceptionRuntimeExceptionException 下的子类。

  • 错误 及其子类未检查。
  • Exception 及其子类被检查;
    • RuntimeException 分支除外。

ErrorRuntimeException 类的区别在于

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

关于Java 运行时异常和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31502265/

相关文章:

java - 记录完整堆栈跟踪性能问题

binding - 无法设置 Javafx 组合框绑定(bind)值异常

java - 是否可以捕获除运行时异常之外的所有异常?

swift - EXC_BREAKPOINT CODE=1 运行时异常

Java Swing 代码中的 java.lang.NullPointerException

java - *.properties 文件中的根路径

java - 带有组合框和文本字段的简单 Jframe 以及标签中的结果

java - 由 java.lang.NoClassDefFoundError : com/fasterxml/jackson/databind/Module in spring starter project in IntelIj 引起

java - 使用二维数组时出现运行时异常

java - 如何将新值插入两个相关表中?