Java学习
30
异常
封装错误信息的对象
错误信息:类型、提示消息、行号
常的继承结构
捕获异常
try {
} catch(AException e) {
} catch(BException e) {
} catch(父类型Exception e) {
} finally {
不管出不出错,都会执行
}
如果抛出异常,并且中catch中有return语句,这个return语句会先执行,执行之后将结果保
存在缓存中,再去查看是否有finally,如果有finally就先执行finally语句,之后再返回缓存中
return的值,如果finally中也有return,那么finally中的return会覆盖掉之前缓存中的return,
即最终会返回finally中的return值
throw 手动抛出异常,执行异常的抛出动作 类似 return;当程序出现逻辑错误,不自动创建并抛出异常,可以手动判断逻辑错误,手动创建异常对象并抛出。
底层的异常往上层抛,在上层处理
if(...) {
AException e = new AException();
throw e;
}
异常包装
捕获的异常对象,包装成其他类型再做抛出,多种类型简化成一种类型,不能抛出的异常包装成能抛出的异常再抛。
RuntimeException 和 其他Exception
RuntimeException— 非检查异常,编译器不检查是否有异常处理代码,存在默认的抛出管道
其他异常 — 编译器检查是否有处理代码,不处理,不能编译。
浙公网安备 33010602011771号