Java 常见的异常
Java 中的异常分为两大类:检查异常(Checked Exceptions) 和 非检查异常(Unchecked Exceptions)。以下是常见的异常及其分类:
1. 检查异常(Checked Exceptions)
检查异常是指在编译时强制要求处理的异常,通常是外部因素导致的错误,程序可以预期并恢复。
IOException
:- 输入输出操作失败时抛出,如文件读写异常。
- 子类:
FileNotFoundException
:文件未找到。EOFException
:文件读取到末尾。
SQLException
:- 数据库操作失败时抛出,如连接失败、SQL 语句错误。
ClassNotFoundException
:- 当尝试加载一个不存在的类时抛出。
InterruptedException
:- 当线程在等待、睡眠或占用时被中断时抛出。
2. 非检查异常(Unchecked Exceptions)
非检查异常是指在运行时可能发生的异常,通常是程序逻辑错误导致的,编译器不强制要求处理。
NullPointerException
:- 当尝试访问一个空对象的属性或方法时抛出。
ArrayIndexOutOfBoundsException
:- 当访问数组的索引超出范围时抛出。
ArithmeticException
:- 当算术操作异常时抛出,如除零操作。
IllegalArgumentException
:- 当传递给方法的参数不合法时抛出。
NumberFormatException
:- 当字符串转换为数字格式不匹配时抛出。
ClassCastException
:- 当尝试将对象强制转换为不兼容的类型时抛出。
IllegalStateException
:- 当对象的状态不适合调用某个方法时抛出。
3. 错误(Error)
错误是严重的运行时问题,通常与程序逻辑无关,而是系统或资源问题,程序无法恢复。
OutOfMemoryError
:- 当 JVM 内存不足时抛出。
StackOverflowError
:- 当方法调用栈溢出时抛出,通常是递归调用过深。
NoClassDefFoundError
:- 当 JVM 找不到类的定义时抛出。
总结
Java 中的异常分为检查异常和非检查异常:
- 检查异常:需要在代码中显式处理,通常是外部因素导致的错误。
- 非检查异常:通常是程序逻辑错误,编译器不强制处理。
- 错误(Error):严重的系统问题,程序无法恢复。
常见的异常包括:
- 检查异常:
IOException
、SQLException
、ClassNotFoundException
。 - 非检查异常:
NullPointerException
、ArrayIndexOutOfBoundsException
、ArithmeticException
。 - 错误:
OutOfMemoryError
、StackOverflowError
。
THE END
暂无评论内容