Java中Exception和Error有什么区别?

Java中,所有的异常都有一个共同的祖先java.lang包中的Throwable类。Throwable类有两个重要的子类Exception(异常)和Error(错误)。
Exception和Error二者都是Java异常处理的重要子类,各自都包含大量子类。
Error:Error属于程序无法处理的错误,是JVM需要负担的责任,无法通过try-catch来进行捕获。例如,系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复。
比如StackOverFlowError;VirtualMachineError;OutofMemoryError;ThreadDeath
Exception:程序本身可以处理的异常,可以通过catch来进行捕获,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行。Exception又可以分为运行时异常(RuntimeException,又叫非受检查异常unchecked Exception)和非运行时异常(又叫受检查异常checked Exception)。
checked Exception就是在写代码的时候,需要写try catch的Exception,这种Exception一般不会影响主体程序,可以由程序员手动诊断修复异常。
比如IOException;SQLException;ClassNotFoundException
unchecked Exception又称RunTimeException,这一类就是在代码处理了checked Exception之后,运行时候仍然

你可能感兴趣的:(Java,java,开发语言)