温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java异常分为哪几种

发布时间:2026-07-26 09:16:41 来源:亿速云 阅读:87 作者:小樊 栏目:编程语言

在 Java 中,**异常(Exception)**主要分为以下几类,从整体结构到常用分类可以这样理解:


一、从继承结构上看(最核心分类)

所有异常都继承自 java.lang.Throwable,主要分为两大类:

1️⃣ Error(错误)

  • 表示严重问题,通常程序无法处理
  • 一般由 JVM 引起
  • 不建议捕获

常见例子:

  • OutOfMemoryError(内存溢出)
  • StackOverflowError(栈溢出)
try {
    // 通常不建议捕获 Error
} catch (Error e) {
    e.printStackTrace();
}

结论

Error 不是异常处理的重点


2️⃣ Exception(异常)

表示程序可以处理的异常情况,是异常处理的核心。

Exception 又分为两大类:


二、Exception 的两种分类方式

✅ 1. 按“是否必须处理”分类(最常用)

(1)受检异常(Checked Exception)

  • 编译期强制要求处理
  • 要么 try-catch,要么 throws

常见例子:

  • IOException
  • SQLException
  • FileNotFoundException
try {
    FileInputStream fis = new FileInputStream("a.txt");
} catch (IOException e) {
    e.printStackTrace();
}

特点

编译器会检查你是否处理了


(2)运行时异常(Runtime Exception / Unchecked Exception)

  • 编译期不强制处理
  • 通常是程序逻辑错误

常见例子:

  • NullPointerException
  • ArrayIndexOutOfBoundsException
  • ArithmeticException
int a = 10 / 0; // ArithmeticException

特点

可以避免,更多是代码问题


三、总结对比表

分类 是否必须处理 常见示例 说明
Error OutOfMemoryError JVM 错误
Checked Exception ✅ 是 IOException 编译期检查
Runtime Exception NullPointerException 运行期异常

四、常见面试题总结版回答 ✅

Java 异常分为 Error 和 Exception
Exception 又分为 受检异常(Checked Exception)运行时异常(Runtime Exception)
Error 表示 JVM 错误,程序一般无法处理;受检异常在编译期必须处理;运行时异常通常由程序逻辑错误引起。


如果你愿意,我可以继续帮你讲:

  • ✅ 自定义异常
  • try-catch-finally 执行顺序
  • throwsthrow 区别
  • ✅ 异常在面试中的高频考点
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI