一 Java异常体系
二 从概念角度解析Java的异常处理机制
Error : 程序无法处理的系统错误,编译器不做检查;
Exception : 程序可以处理的异常,捕获后可能会被修复;
总结 : 前者是程序无法处理的错误,后者是可以处理的异常;
三 运行时异常与编译时异常
运行时异常 : 不可预知的,程序应当自行避免;
编译时异常 : 可预知的且编译器会做检查;
四 Java的异常处理机制
1️⃣抛出异常 : 创建异常对象交由运行时系统处理;
2️⃣捕获异常 : 寻找合适的异常处理器处理异常,否则终止运行;
五 设计高效的异常处理框架
1️⃣设计一个通用的继承自
RuntimeException
的异常来统一处理;
2️⃣其余异常都统一转译为上述异常APPException
;
3️⃣在catch
之后,抛出上述异常的子类,并提供足以定位的信息;
4️⃣由前端接收AppException
做统一处理;
六 try-catch的性能
1️⃣try-catch代码块会影响JVM的优化;
2️⃣异常对象实例需要保存栈快照信息,开销比较大;