Java异常处理详解:Exception、ArithmeticException、FileNotFoundException

一、引言

在Java编程中,异常处理是保证程序健壮性的重要机制。当程序运行时出现意外情况,如除零错误、文件不存在等问题时,异常处理机制能够优雅地处理这些错误,避免程序崩溃。本文将深入探讨Java异常体系中的核心概念,特别是ExceptionArithmeticExceptionFileNotFoundException这三个关键异常类。

二、Java异常体系概述

Java异常体系以Throwable为根类,主要分为两大分支:

三.关键代码分析

发生了什么?

1.异常抛出10 / 0 → 会抛出 ArithmeticException

2.匹配检查catch (FileNotFoundException e)

ArithmeticExceptionFileNotFoundException

❌不是它的子类

3.结果:异常未被捕获 → 程序崩溃

本代码的正确写法:多catch块

java 复制代码
try {
    // 可能抛出多种异常的代码
} catch (FileNotFoundException e) {
    System.out.println("文件未找到");
} catch (ArithmeticException e) {
    System.out.println("算术错误");  // 现在能捕获到了!
} catch (Exception e) {
    System.out.println("其他错误");  // 兜底处理
}

快速记忆

  • catch只抓匹配的异常,类型要对应

  • 异常类有继承关系,子类可被父类catch捕获

  • 顺序很重要:先子类,后父类

记住:想要捕获多种异常,就写多个catch块!

相关推荐
csbysj20203 小时前
C# 集合(Collection)
开发语言
Assby3 小时前
如何尽可能精确计算线程池执行 shutdown() 后的耗时?
java·后端
csbysj20203 小时前
Lua 面向对象编程
开发语言
焰火19993 小时前
[Java]自定义重试工具类
java
SuperherRo4 小时前
JAVA攻防-Shiro专题&断点调试&有key利用链&URL&CC&CB&原生反序列化&加密逻辑
java·shiro·反序列化·有key·利用链·原生反序列化·加密逻辑
桦说编程4 小时前
简单方法实现子任务耗时统计
java·后端·监控
左直拳4 小时前
将c++程序部署到docker
开发语言·c++·docker
爱笑的眼睛115 小时前
超越可视化:降维算法组件的深度解析与工程实践
java·人工智能·python·ai