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

一、引言

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

二、Java异常体系概述

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

三.关键代码分析

发生了什么?

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

2.匹配检查 :catch (FileNotFoundException e)

❌ArithmeticException ≠ FileNotFoundException

❌不是它的子类

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块!

相关推荐
独泪了无痕3 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南5 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
来让爷抱一个6 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
kingx36 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
DevOpenClub8 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
心祭丫丫8 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪9 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力9 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力9 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain3769 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven