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

相关推荐
是小蟹呀^6 小时前
Spring Security + JWT 面试题整理
java·jwt·springsecurity
星栈独行7 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
spencer_tseng8 小时前
Redis + Nacos.bat
java·windows·dos
qq_448011168 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
troyzhxu8 小时前
列表查询的 GraphQL —— 一行代码终结你的 if-else 地狱!
java·springboot·graphql
孫治AllenSun9 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c2385610 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
好好沉淀10 小时前
@NotBlank(message = “{xxx}“) 注解中花括号的含义
java
fīɡЙtīиɡ ℡10 小时前
内存泄漏产生的原因
java·spring·servlet