异常简介
Java 中异常类型分为两大类:
错误(Error)
异常(Exception)
检查型异常(Checked Exceptions)
非检查型异常(Unchecked Exceptions)

错误
Java 中特殊的异常是 错误(Error),他们是程序中严重的错误(其实就是bug),通常表示运行时环境中的问题,引用程序一般不捕获或处理这些错误(加班修改代码去吧!)。
常见的错误包括:
错误类型 | 描述 |
---|---|
StackOverflowError | 递归导致堆栈溢出 |
OutOfMemoryError | 内存不足 |
异常
检查型异常
检查型异常也叫 编译时异常,必须在代码中显式地捕获或声明抛出,否则编译器会报错。
常见的检查型异常:
异常类型 | 描述 |
---|---|
IOException | 处理 I/O 操作时抛出的异常,如文件未找到、无法读取或写入文件 |
SQLException | 在执行SQL操作时抛出的异常,如数据库连接失败、SQL语法错误 |
ClassNotFoundException | 尝试加载类时,指定的类不存在 |
FileNotFoundException | 尝试打开一个不存在的文件 |
IllegalArgumentException | 表示方法收到的参数非法或不合适 |
UnsupportedEncodingException | 表示请求的字符编码不受支持 |
非检查型异常
非检查型异常也叫 运行时异常,不需要显式的捕获或声明抛出。
它们通常用于表示编程错误,如逻辑错误或非法操作。非检查型异常继承自 RuntimeException
类。
常见的非检查型异常:
异常类型 | 描述 |
---|---|
NullPointerException | 空指针异常 |
ArrayIndexOutOfBoundsException | 数组索引超限异常 |
ArithmeticException | 算术错误异常,如 10 / 0,分母为0 |
ClassCastException | 类强制转换失败异常,如将 String 类型转为 Int 类型 |
InputMismatchException | 输入内容不合法异常 |
NumberFormatException | 数值类型转换异常 |