set c++如何處理異常情況

c++
小樊
82
2024-11-15 15:14:57

在C++中,處理異常情況通常使用 try-catch 語(yǔ)句塊。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用 try-catch 語(yǔ)句處理異常:

#include <iostream>
#include <stdexcept>

int main() {
    try {
        // 嘗試執(zhí)行可能引發(fā)異常的代碼
        int denominator = 0;
        if (denominator == 0) {
            throw std::runtime_error("除數(shù)不能為0");
        }
        int result = 10 / denominator;
        std::cout << "結(jié)果: " << result << std::endl;
    } catch (const std::runtime_error& e) {
        // 捕獲并處理異常
        std::cerr << "發(fā)生異常: " << e.what() << std::endl;
    } catch (...) {
        // 捕獲并處理其他未知異常
        std::cerr << "發(fā)生未知異常" << std::endl;
    }

    return 0;
}

在這個(gè)示例中,我們嘗試執(zhí)行一個(gè)可能引發(fā)異常的代碼(除以0)。如果發(fā)生異常,我們會(huì)捕獲它并輸出相應(yīng)的錯(cuò)誤信息。我們使用 std::runtime_error 類(lèi)創(chuàng)建一個(gè)異常對(duì)象,并將其傳遞給 catch 語(yǔ)句塊。你還可以使用其他標(biāo)準(zhǔn)異常類(lèi)(如 std::exception)或自定義異常類(lèi)。

注意,將可能引發(fā)異常的代碼放在 try 語(yǔ)句塊中,將處理異常的代碼放在 catch 語(yǔ)句塊中。這樣可以確保在發(fā)生異常時(shí),程序能夠優(yōu)雅地處理錯(cuò)誤,而不是崩潰。

0