溫馨提示×

如何在C++中捕獲并處理崩潰異常

c++
小樊
96
2024-08-27 13:48:12
欄目: 編程語言

在C++中,可以使用try、catchthrow關(guān)鍵字來捕獲和處理異常

#include<iostream>
#include <stdexcept>

int main() {
    try {
        // 這里是可能引發(fā)異常的代碼
        int denominator = 0;
        if (denominator == 0) {
            throw std::runtime_error("除數(shù)不能為0");
        }
        int result = 10 / denominator;
        std::cout << "Result: "<< result<< std::endl;
    } catch (const std::runtime_error& e) {
        // 捕獲到異常后的處理代碼
        std::cerr << "捕獲到異常: " << e.what()<< std::endl;
    } catch (...) {
        // 捕獲所有其他類型的異常
        std::cerr << "捕獲到未知類型的異常"<< std::endl;
    }

    // 繼續(xù)執(zhí)行其他代碼
    std::cout << "程序繼續(xù)運行"<< std::endl;
    return 0;
}

在上面的示例中,我們使用try塊包裹可能引發(fā)異常的代碼。如果發(fā)生異常,throw語句會拋出一個std::runtime_error異常。然后,catch塊捕獲該異常,并打印相應(yīng)的錯誤消息。最后,程序繼續(xù)執(zhí)行其他代碼。

注意:異常處理可能會影響性能,因此建議僅在必要時使用。同時,確保在捕獲異常后進(jìn)行適當(dāng)?shù)奶幚恚玑尫刨Y源或向用戶顯示錯誤消息。

0