Joa*_*uer 25
您不在Error代码中使用.
一个Error是特定种类的Throwable,就像Exception是.
Throwable 是定义可以抛出的所有内容的基类.Exception是常见的情况.它是关于程序执行期间出现的问题.
RuntimeException 是一个特殊情况:它是未经检查的(即它不需要通过方法声明,编译器不会强制您捕获它).Error是"罕见"的情况:它表示不受通常应用程序控制的问题:JVM错误,内存不足,验证字节码的问题:这些是你不应该处理的事情,因为如果它们发生的事情已经很糟糕了你的代码不太可能能够理智地处理它.你不应该试图纠正导致的情况Error.您可能想要捕获它以便记录它然后重新抛出它(请参阅JavaDoc以ThreadDeath获取有关为什么需要重新抛出它的示例(感谢@krock的单挑)).
没有其他理由抛出任何东西Error(即不要Error自己创建并抛出它,如果你认为你想这样做,请使用Exception或RuntimeException代替).