Java中异常的种类分为两大类:Checked Exception(受检异常)和 Unchecked Exception(非受检异常)。
Checked Exception(受检异常)是在编译期强制要求处理的异常,必须在代码中显式地进行捕获或声明抛出。常见的 Checked Exception 有:
- IOException(输入输出异常)
- SQLException(数据库异常)
- ClassNotFoundException(类未找到异常)
- InterruptedException(线程中断异常)
Unchecked Exception(非受检异常)是在运行时发生的异常,不需要在代码中进行捕获或声明抛出。常见的 Unchecked Exception 有:
- NullPointerException(空指针异常)
- ArrayIndexOutOfBoundsException(数组越界异常)
- IllegalArgumentException(非法参数异常)
- IllegalStateException(状态非法异常)
Error(错误)是严重的问题,通常是指 JVM 或者虚拟机内部的错误,无法通过代码处理。常见的 Error 有:
- OutOfMemoryError(内存溢出错误)
- StackOverflowError(堆栈溢出错误)
- NoClassDefFoundError(类未定义错误)