Error:致命错误,比如内存不足,程序员对这种错误是无能为力的,只能检测其发生。
Exception:程序运行中发生的异常情况。
检测异常:这种异常,强制程序员在编程的过程中进行处理。1、抛出这个异常 2、捕捉异常。
非检测性异常:这种异常事先无法估计,也不要程序员进行处理。
异常处理机制:
异常层级结构:
Throwable
Error
Exception
RuntimeException:非检测性异常,不需要程序员处理
其他异常:检测型异常,需要程序员处理。
异常处理:
当程序运行时,如果发生了异常,可以采用以下两种方式处理:
1、抛出这个异常 2、捕捉异常
(1)抛出异常:
将这个异常交给方法的调用者处理,方法的调用者可以抛出或处理这个异常,如果继续抛出,最终抛到main方法,main方法如果也继续抛出,则交由虚拟机处理,于是虚拟机简单终止。
(2)捕捉机制:
try{
可能发生异常的代码;
}catch(异常类型1 e){
//处理类型1
}catch(异常类型2 e){
//处理类型2
}……
catch(ExceptionN e){
}finally{
//可选,该代码一定会执行。
}