对比一下 Exception 和 Error
从 Java API 可以看到,Exception 和 Error 都继承于 Throwable ,Throwable提供了 throw(抛出) 和 catch(捕获)
Exception 是在程序正常运行的时候可以预料到的,可以事先对其捕获,进行相应的处理。
Error 一般不需要捕获,因为它是在正常情况下,不太可能发生的。
Exception 有两种情况
- 编译时可检查(需要在代码中事先捕获处理)
- 运行时不可检查 (如 NullPointException),编译期不强求捕获,但是可以对其判断,是否需要捕获代码。