一、异常处理概述
简单说,异常处理是 C++ 中专门用来捕获程序运行时意外错误的机制。例如程序打开不存在的文件、数组下标越界、内存分配失败等突发情况,若不处理会导致崩溃;使用异常处理可以优雅地接住错误,让程序继续运行或友好退出。
类比:点外卖(程序执行)正常收到餐(代码跑通),但可能遇到商家没货或骑手超时(异常)。异常处理让你不用干等崩溃,而是选择换店或取消订单(处理异常)。
二、核心语法
C++ 异常处理有三个核心关键字:try、throw、catch,配合使用。
#include <iostream>
#include <stdexcept>
using namespace std;
// 一个可能抛出异常的函数:计算除法
double divide(double a, double b) {
// 检测异常条件:除数为 0
if (b == 0) {
// 抛出异常:throw 后面是异常对象
throw invalid_argument("除数不能为 0!");
}
return a / b;
}
int main() {
double num1 = 10, num2 = 0;
// 1. try 块:包裹可能抛出异常的代码
try {
double result = divide(num1, num2);
cout << "计算结果:" << result << endl;
}
// 2. catch 块:捕获并处理对应类型的异常
catch (const invalid_argument& e) {
// 匹配 throw 抛出的异常类型
cout << "捕获到异常:" << e.what() << endl;
}
(...) {
cout << << endl;
}
cout << << endl;
;
}

