一、为什么需要异常处理?
在基础概念中我们知道,异常会打断程序流程导致崩溃:比如用户登录时输入了非法格式的手机号,程序直接闪退,体验极差!
异常处理的核心目标是:'捕获意外,优雅处理,让程序继续运行' —— 就像生活中遇到问题:
- 没带钱买水 → 要么回家拿,要么换个便宜的(解决问题)
- 导航没网 → 切换离线地图,或问路人(替代方案)
- 文档损坏 → 尝试修复,或打开备份(兜底方案)
Java 提供了 3 种核心处理方式,对应不同场景,我们逐一拆解。
二、核心处理方式 1:try-catch 捕获异常('当场解决')
🌰 生活场景
去餐厅吃饭,担心'菜卖完了'(异常),所以提前和服务员说:'如果宫保鸡丁没了,就换鱼香肉丝'——主动预判异常,给出解决方案。
📝 语法格式
try { // 可能发生异常的代码(比如'点宫保鸡丁')
} catch (异常类型 1 异常对象) { // 捕获到'异常类型 1'时的处理逻辑(比如'换鱼香肉丝')
} catch (异常类型 2 异常对象) { // 捕获到'异常类型 2'时的处理逻辑(可选,多异常处理)
}
✨ 代码示例:处理'除以 0'异常
public class ExceptionDemo {
public static void main(String[] args) {
int a = 10;
int b = 0; // 这里会触发 ArithmeticException
try {
// 可能出错的代码:除以 0
int result = a / b;
System.out.println("结果:" + result); // 异常后不会执行
} catch (ArithmeticException e) {
// 捕获到算术异常后的处理逻辑
System.out.println( + e.getMessage());
System.out.println( + (a / ));
}
System.out.println();
}
}


