在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塊來捕獲不同類型的異常。首先會嘗試匹配最具體的異常類型,如果沒有匹配成功,則會嘗試匹配更通用的異常類型。這種方式可以幫助我們更精細地處理不同類型的異常。