对于Java中的异常,主要分为两大类,检查型异常和非检查型异常。
检查型异常需要在编译阶段进行捕获或者向上抛出,否则编译不通过,这种异常在IO操作中比较常见,比如说FileNotFoundException,并不是说一定会有这个异常,只是说可能会运行不成功,需要对这种情况做特殊处理。
非检查型异常,一般是运行时异常,它不需要显式的进行捕获或者抛出,但是运行的时候如果出现异常程序也会挂掉。对于这种异常,一般是代码本身出现问题,比如说数组越界,空指针异常等。如果代码写的健壮性足够高,这种异常是可以避免的。