ubuntu

Ubuntu中C++异常处理如何实现

小樊
42
2025-05-18 15:39:39
栏目: 编程语言

在Ubuntu中,C++异常处理主要通过trycatchthrow关键字实现。下面是一个简单的示例:

#include <iostream>
#include <stdexcept>

int main() {
    try {
        int a = 10;
        int b = 0;
        if (b == 0) {
            throw std::runtime_error("除数不能为0");
        }
        int c = a / b;
        std::cout << "结果是:"<< c << std::endl;
    } catch (const std::runtime_error& e) {
        std::cerr << "捕获到异常:" << e.what() << std::endl;
    } catch (...) {
        std::cerr << "捕获到未知异常" << std::endl;
    }

    return 0;
}

在这个示例中,我们尝试执行一个除法操作。如果除数为0,我们抛出一个std::runtime_error异常。然后,我们使用try块来包裹可能抛出异常的代码。如果在try块中发生异常,程序会立即跳转到相应的catch块来处理异常。

在这个例子中,我们有两个catch块。第一个catch块捕获std::runtime_error类型的异常,第二个catch块捕获所有其他类型的异常。当异常被捕获时,我们可以处理它,例如打印错误消息或者执行其他恢复操作。

要编译这个示例,你可以使用g++编译器:

g++ -o exception_example exception_example.cpp

然后运行生成的可执行文件:

./exception_example

这将输出:

捕获到异常:除数不能为0

0
看了该问题的人还看了