面试题:简述列举 Java 常见的异常有哪些 ?

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):严重的系统问题,程序无法恢复。

常见的异常包括:

  • 检查异常:IOExceptionSQLExceptionClassNotFoundException
  • 非检查异常:NullPointerExceptionArrayIndexOutOfBoundsExceptionArithmeticException
  • 错误:OutOfMemoryErrorStackOverflowError
THE END
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容