Java错误(error)和异常(exception)都由Throwable派生而来。
Error是类包括一些严重的程序不能处理的系统错误类,如内存溢出、虚拟机错误、栈溢出等。这类错误一般与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无法捕获和处理。常见的error有:NotClassDeFountError(类未定义错误),OutofMemoryError(内存溢出错误),StackOverFlowError(栈溢出错误)。
Exception分为RuntimeException(运行时异常)和非运行时异常。异常是由程序错误引起的。非运行时异常需要在程序中进行try,catch进行显示处理。常见的非运行异常有IOException(输入/输出异常),SqlException(数据库异常)。运行时异常则不需要,它会由jvm进行处理。常见的运行时异常有空指针异常,算术异常,数组越界异常等。