异常:程序生病了
Throwable
- Exception
- Error -------- Uncheck Exception
Error:错误:一般是由虚拟机生成并脱出的,程序员无法解决
Exception:异常
CheckException 检查时异常 | 编译时异常:
编译时就出现异常 (如果编译出现了异常不处理,程序无法运行)
RuntimException 运行时异常:
运行时会出现的异常(所有运行时异常都会直接或者间接的继承自RuntimeExcption,可以通过增强程序的健壮性处理 if 判断)
throw 制造异常
异常处理方式
throws 异常抛出
try…catch异常捕获
tey{
——可能出现异常的代码
}catch(NullPointerException e){
____如果出现这个异常,需要执行的代码
}catch(FileNotFoundException e){
…
}
…
finally{
-------无论是否出现异常,都会执行的代码
}
try中一旦出现异常,不会持续向下执行,会执行对应的catch中的内容
一个try中可以跟1~多个 catch,小范围catch放在上面,大范围catch放在下面
运行异常可以使用增强程序的健壮性或者异常处理方式的二种,抛出或者捕获处理
编译时异常必须使用异常处理方式的两种,抛出或者捕获处理
自定义异常:
现在使用的都是java提过的异常类,可以自定义异常类
自定义的异常类必须直接或者间接的继承自Exception类