导航菜单

异常处理

学习C++异常处理机制和RAII技术

75%
异常处理基础

try-catch 语句

使用 try-catch 块捕获和处理异常。

#include <iostream>
#include <stdexcept>
using namespace std;

double divide(double a, double b) {
    if (b == 0) {
        throw runtime_error("除数不能为零!");
    }
    return a / b;
}

int main() {
    try {
        cout << divide(10, 2) << endl;  // 正常执行
        cout << divide(10, 0) << endl;  // 抛出异常
    }
    catch (const runtime_error& e) {
        cerr << "捕获到运行时错误: " << e.what() << endl;
    }
    catch (const exception& e) {
        cerr << "捕获到标准异常: " << e.what() << endl;
    }
    catch (...) {
        cerr << "捕获到未知异常" << endl;
    }
    
    cout << "程序继续执行..." << endl;
    return 0;
}