Java中的错误类

sat*_*esh 12 java exception

我试图理解ErrorJava中的类.

我对Exception类有很好的理解,但是找不到Error类的代码示例.我已经尝试过搜索网络和java.sun网站了,但我找不到任何有用的东西来帮助我更好地理解这一点.

我如何Error在程序中使用该类,以及我们在哪里使用它?

Joa*_*uer 25

您不在Error代码中使用.

一个Error是特定种类的Throwable,就像Exception是.

  • Throwable 是定义可以抛出的所有内容的基类.
  • Exception是常见的情况.它是关于程序执行期间出现的问题.
    • RuntimeException 是一个特殊情况:它是未经检查的(即它不需要通过方法声明,编译器不会强制您捕获它).
  • Error是"罕见"的情况:它表示不受通常应用程序控制的问题:JVM错误,内存不足,验证字节码的问题:这些是你不应该处理的事情,因为如果它们发生的事情已经很糟糕了你的代码不太可能能够理智地处理它.

你不应该试图纠正导致的情况Error.您可能想要捕获它以便记录它然后重新抛出它(请参阅JavaDoc以ThreadDeath获取有关为什么需要重新抛出它的示例(感谢@krock的单挑)).

没有其他理由抛出任何东西Error(即不要Error自己创建并抛出它,如果你认为你想这样做,请使用ExceptionRuntimeException代替).

  • 顺便说一句,我不是投反对票的人,只是添加了我的想法,+1 是对异常层次结构的一个很好的总结。 (2认同)