Error和Exception的区别

Error类和Exception类的父类都是Throwable类。

区别:

  1. Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止

  2. Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。

Exception类又分为:(1)运行时异常(Runtime Exception);(2)受检查的异常(Checked Exception )。

运行时异常,编译能通过,但是一运行就终止了,程序不会处理运行时异常,出现这类异常,程序会终止。而受检查的异常,要么用try/catch捕获,要么用throws字句声明抛出,交给它的父类处理,否则编译不会通过。

常见的异常:

ArrayIndexOutOfBoundsException 数组下标越界异常,

ArithmaticException 算数异常 如除数为零

NullPointerException 空指针异常

IllegalArgumentException 不合法参数异常

你可能感兴趣的:(Error和Exception的区别)