温馨提示×

如何在C++中捕获并处理崩溃异常

c++
小樊
82
2024-08-27 13:48:12
栏目: 编程语言

在C++中,可以使用trycatchthrow关键字来捕获和处理异常

#include<iostream>
#include <stdexcept>

int main() {
    try {
        // 这里是可能引发异常的代码
        int denominator = 0;
        if (denominator == 0) {
            throw std::runtime_error("除数不能为0");
        }
        int result = 10 / denominator;
        std::cout << "Result: "<< result<< std::endl;
    } catch (const std::runtime_error& e) {
        // 捕获到异常后的处理代码
        std::cerr << "捕获到异常: " << e.what()<< std::endl;
    } catch (...) {
        // 捕获所有其他类型的异常
        std::cerr << "捕获到未知类型的异常"<< std::endl;
    }

    // 继续执行其他代码
    std::cout << "程序继续运行"<< std::endl;
    return 0;
}

在上面的示例中,我们使用try块包裹可能引发异常的代码。如果发生异常,throw语句会抛出一个std::runtime_error异常。然后,catch块捕获该异常,并打印相应的错误消息。最后,程序继续执行其他代码。

注意:异常处理可能会影响性能,因此建议仅在必要时使用。同时,确保在捕获异常后进行适当的处理,例如释放资源或向用户显示错误消息。

0