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

相关推荐
MATLAB代码顾问9 分钟前
Python实现蜂群算法优化TSP问题
开发语言·python·算法
jinanwuhuaguo30 分钟前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw
xmjd msup1 小时前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
952361 小时前
SpringBoot统一功能处理
java·spring boot·后端
有一个好名字2 小时前
工具即双手 —— 从 Bash 到 Tool Dispatch Map
开发语言·chrome·bash
Lyyaoo.2 小时前
优惠券秒杀业务分析
java·开发语言
消失的旧时光-19432 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
勿忘初心12212 小时前
Java 国密 SM4 加密工具类实战(Hutool + BouncyCastle)|企业级数据加密 + 兼容 JDK8
java·数据安全·数据加密·后端开发·企业级开发·国密 sm4
庞轩px2 小时前
第8篇:原子类与CAS底层原理——无锁并发的实现
java·cas·乐观锁·aba·无锁编程·自旋
rleS IONS2 小时前
SpringBoot中自定义Starter
java·spring boot·后端