Error类和 Exception 类的父类都是 Throwable 类。
Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。
Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。
Exception类分为受检异常(Checked Exception)和非受检异常(运行时异常)(Runtime Exception)
受检异常异常在你编写代码的时候就会被检测出来,是必须处理的异常否则编译无法通过,处理该异常的方法有两种:
1.知道怎么处理该异常,则用try…catch来处理该异常
2.不知道怎么处理该异常,则抛出异常,让别人来处理
非受检异常在你编写代码的时候不会被检测出来,编译能通过,但是程序运行时会终止。这种异常可能是你编写的代码逻辑出现了问题。