溫馨提示×

c++ try-catch塊中如何捕獲異常類型

c++
小樊
85
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