验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Java异常分为哪几种

阅读:262 来源:乙速云 作者:代码code

Java异常分为哪几种

在 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 区别
  • ✅ 异常在面试中的高频考点
分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>