Java中常见的异常可以分为两大类:`Error` 和 `Exception`。`Error` 表示的是严重的系统级问题,通常无法通过程序逻辑来处理,例如 `StackOverflowError` 和 `OutOfMemoryError`。而 `Exception` 则是指程序逻辑中可能遇到的问题,可以通过程序逻辑来处理。
运行时异常(RuntimeException)
ArithmeticException- 算术运算中,如除以零。
NullPointerException- 尝试访问空对象的属性或方法。
ArrayIndexOutOfBoundsException- 访问数组时使用了超出数组范围的索引。
ClassCastException- 尝试将对象强制转换为不兼容的类型。
NumberFormatException- 字符串转换为数字时格式不正确。
FileNotFoundException- 尝试打开不存在的文件。
IOException- 输入输出操作中发生错误。
NoSuchMethodException- 调用不存在的方法。
ClassNotFoundException- 找不到指定的类。
非运行时异常(Checked Exception)
SQLException- 数据库操作异常。
SecurityException- 违反安全策略。
EOFException- 文件读取到末尾。
ClassCircularityError- 类之间存在循环依赖。
ClassFormatError- Java虚拟机无法识别类的格式。
Error
OutOfMemoryError- 内存不足,无法满足对象分配的需求。
StackOverflowError- 栈溢出,无法创建新的栈帧。
其他
AbstractMethodError- 抽象方法错误,子类未实现父类的抽象方法。
IllegalAccessException- 没有访问权限访问类或方法。
ArrayStoreException- 尝试将错误类型的数据存储到数组中。
异常处理通常使用 `try-catch` 语句来捕获和处理这些异常,以确保程序的健壮性和稳定性。