Exception
是java
程序运行中可预料的异常情况,我们可以获取到这种异常,并且对这种异常进行业务外的处理。
Error
是java
程序运行中不可预料的异常情况,这种异常发生以后,会直接导致JVM
不可处理或者不可恢复的情况。所以这种异常不可能抓取到,比如OutOfMemoryError
、NoClassDefFoundError
等。
其中的Exception
又分为检查性异常和非检查性异常。两个根本的区别在于,检查性异常必须在编写代码时,使用try catch
捕获(比如:IOException
异常)。非检查性异常在代码编写使,可以忽略捕获操作(比如:ArrayIndexOutOfBoundsException
),这种异常是在代码编写或者使用过程中通过规范可以避免发生的。 切记, Error
是Throw
不是Exception
。