Java所有Exception, Error的父接口:Throwable
异常分为两种类型:
第一种类型:非检查型异常(uncheckedException),不需要声明,不需要显式地使用try...catch语句来捕获它们。
第二种类型:检查型异常(checkedException), 要求声明, 即必须使用try...catch来捕获并处理或者把异常交给上级方法处理。
什么是检查型异常和非检查型异常呢:
1.继承RuntimeException或Error的是非检查型异常.RuntimeException, Error本身是非检查型异常。
2.继承Exception的是检查型异常(当然,runtimeexception本身也是exception的子类)。
非检查型异常不需要显式地使用try...catch语句来捕获的原因:
Error它们可能发生在程序的任何地方,并且恢复它们非常困难或者不可能。
RuntimeException不被检查的原因则在于声明它们并不会有助于建立程序的正确性。