异常机制小总结
异常机制
Throwable 是所有异常的超类
Error 和 Exception 区别
- Error 是灾难性的致命错误,是程序无法控制和处理的,当出现这些异常,Java 虚拟机(JVM)一般会选择终止线程
- Exception 通常是可以被程序处理,并且在程序中应该尽可能去处理这些异常
- 两者都是继承Throwable 类,在 java 中只有 Throwable 的类的实例才可以被抛出(throw)或捕获(catch),它是异常处理机制的基础组成类型。
- exception 和 error 体现 java 设计不同的异常情况:exception 是可以预料的意外情况,可以被铺货,进行相应处理;error 是指正常情况下不太可能出现的情况,绝大部分是 JVM 自身处于非正常的、不可恢复状态,既然是非正常情况,所以不便于也不需要捕获。常见的 outOfMemoryError 之类的。
- exception 可分为可检查异常和不可检查异常,可检查异常也就是可运行时异常。如控制针异常,这需要我们避免这种逻辑错误,具体看是否需要捕获。
try, catch,finally
try:监控区域
catch:捕获区域
finally:不管 try,catch 是否执行都会执行
悲观者正确,乐观者成功