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