温馨提示×

c++ try-catch块中如何捕获异常类型

c++
小樊
97
2024-08-15 15:29:42
栏目: 编程语言

在C++中,可以使用try-catch块来捕获异常。在try块中放置可能会抛出异常的代码,然后在catch块中捕获异常并处理。

以下是一个示例代码,演示如何捕获特定类型的异常:

#include <iostream>

int main() {
    try {
        throw std::runtime_error("An error occurred");
    } catch (const std::exception& e) {
        std::cout << "Caught exception: " << e.what() << std::endl;
    }

    return 0;
}

在上面的代码中,我们在try块中抛出了一个std::runtime_error异常。在catch块中,我们使用const std::exception&来捕获所有继承自std::exception的异常类型。通过这种方式,我们可以捕获特定类型的异常并进行相应的处理。

如果您想捕获特定的异常类型,可以使用多个catch块来捕获不同类型的异常,如下所示:

try {
    // code that may throw exceptions
} catch (const std::runtime_error& e) {
    // handle runtime_error
} catch (const std::invalid_argument& e) {
    // handle invalid_argument
} catch (const std::exception& e) {
    // handle other exceptions
}

在这个例子中,我们使用了多个catch块来捕获不同类型的异常。首先会尝试匹配最具体的异常类型,如果没有匹配成功,则会尝试匹配更通用的异常类型。这种方式可以帮助我们更精细地处理不同类型的异常。

0