Exception和Error的区别
Exception和Error的区别
1、Exception和error都继承了throwable类,java中只有throwable类的实例才能被抛出或者捕获异常,是异常处理机制的基本类型;
2、Exception是指在程序正常的运行过程中,可以预料的意外情况,可以事先捕获并且处理的异常;
Exception又分为必检异常和免检异常:
必检异常:在编译期,必须显式捕获处理。
免检异常:指运行时异常,根据需要来判断是否需要捕获的异常,是可以通过规范代码避免发生的;例如NullPointerException,ArrayIndexOutOfBoundsException
3、Error是java程序运行中不可预料的异常情况,是程序出现的非正常,不可恢复的状态,此状态不需要捕获。例如OutOfMemoryError