异常类型分为两类:运行时异常和非运行时异常。
一、运行时异常
运行时异常(RuntimeException),一般不需要程序员进行捕获。
例如:NullPointException,IndexOutOfBoundsException。如果不对该类异常进行catch处理,则在运行时异常发生时会导致当前线程终止或主程序直接终止。
二、非运行时异常
也就是RuntimeException之外的所有异常。对于该类异常,Java编译器强制要求程序员使用try-catch进行捕获,否则编译失败。
例如:如IOException、SQLException等以及用户自定义的Exception异常。