gpt4 book ai didi

java - 异常和错误之间的区别

转载 作者:行者123 更新时间:2023-12-01 22:37:46 27 4
gpt4 key购买 nike

我正在尝试了解有关基本 Java 和不同类型的 Throwable 的更多信息,有人可以让我了解异常和错误之间的区别吗?

最佳答案

不应捕获或处理错误(除非在极少数情况下)。异常是异常处理的基础。 Javadoc解释得很好:

An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions.

看看 Error 的几个子类,摘录他们的一些 JavaDoc 评论:

  • AnnotationFormatError - 当注释解析器尝试从类文件读取注释并确定注释格式错误时抛出。
  • AssertionError - 抛出该异常表示断言失败。
  • LinkageError - LinkageError 的子类表明一个类对另一个类有一定的依赖性;然而,在前一个类编译后,后一个类发生了不兼容的变化。
  • VirtualMachineError - 抛出该异常表示 Java 虚拟机已损坏或已耗尽继续运行所需的资源。

Throwable确实有三个重要的子类别:

  • Error - 出现了足够严重的错误,大多数应用程序应该崩溃而不是尝试处理问题,
  • 未经检查的异常(又名 RuntimeException )- 通常是编程错误,例如 NullPointerException或非法论证。应用程序有时可以处理此问题或从中恢复 Throwable类别 - 或者至少在线程的 run() 中捕获它方法,记录投诉并继续运行。
  • 已检查异常(又名其他所有异常)- 应用程序应能够捕获其余异常并对其进行有意义的操作,例如 FileNotFoundExceptionTimeoutException ...

关于java - 异常和错误之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com