异常体系:
Java把非正常的情况分为异常(Exception)和错误(Error),它们都继承Throwable。
Error错误,一般指虚拟机相关问题,如系统崩溃,动态连接失败等等,这种错误无法恢复或者不可捕获,将导致应用程序中断。应用程序无法处理这些错误,因此代码不能使用catch或throws来捕获或者抛出这些Error对象。
对于Exception异常,是针对程序中发生的人为错误,如空指针异常,数组角标越界等等,这些异常都是人为造成的,在开发中可以用代码进行修复。所以可以使用catch或throws来捕获或者抛出这些Exception对象。
但是异常又分为Checked异常和Runtime异常,Java人为Checked异常都是可以被处理的异常,所以必须显式处理(try...catch或者抛出)。如果不处理这些异常,程序将无法通过编译。而Runtime异常灵活一点,无须显式抛出,如果需要捕获Runtime异常,可以使用try...catch来捕获。
|