我是学生,现在正在处理Java中的异常和错误。
我对发生错误时感到困惑。请与我分享一些例子。
答案 0 :(得分:10)
错误是Throwable
您不应该/期望捕获的错误,例如OutOfMemoryError
或StackOverflowError
。
来自the Java documentation on Error
:
错误是
Throwable
的子类,表示合理的应用程序不应该尝试捕获的严重问题。大多数此类错误都是异常情况。 ThreadDeath错误,虽然是“正常”条件,但也是Error的子类,因为大多数应用程序不应该尝试捕获它。
以下是一些较常见的错误:
OutOfMemoryError
StackOverflowError
AssertionError
NoClassDefFoundError
以下是标准API中的其余错误:
AnnotationFormatError
AWTError
CoderMalfunctionError
IOError
FactoryConfigurationError
FactoryConfigurationError
LinkageError
ServiceConfigurationError
ThreadDeath
TransformerFactoryConfigurationError
VirtualMachineError
InternalError
UnknownError
ClassCircularityError
ClassFormatError
ExceptionInInitializerError
IncompatibleClassChangeError
UnsatisfiedLinkError
VerifyError
答案 1 :(得分:3)
错误通常用于表示应用程序无法解决的严重技术问题。查看错误类的Javadoc,您就会明白这一点。
答案 2 :(得分:1)
如果你的内存耗尽 - kaboom! OutOfMemoryError! (在这一点上你真的没有什么可以做的,但是让这个过程死掉并尝试重新启动它 - 例如,试图回应这个的行为需要记忆,所以它是一个捕获22: - /)
答案 3 :(得分:0)
错误是你很少或根本无法控制的,通常意味着严重的问题。