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

avatar
作者
猴君
阅读量:0

在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块来捕获不同类型的异常。首先会尝试匹配最具体的异常类型,如果没有匹配成功,则会尝试匹配更通用的异常类型。这种方式可以帮助我们更精细地处理不同类型的异常。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!