溫馨提示×

c++中throw的用法是什么

c++
小億
187
2024-01-31 10:44:49
欄目: 編程語言

在C++中,throw用于拋出異常。它可以用于任何可拋出的類型,包括基本類型、自定義類型和標準庫提供的異常類。

throw語句通常與trycatch一起使用,用于異常處理。當程序執(zhí)行到throw語句時,會立即中斷當前的執(zhí)行流程,并將控制權(quán)轉(zhuǎn)移到最近的catch塊。

語法示例:

throw expression;

expression可以是任何可拋出的類型,例如整數(shù)、浮點數(shù)、自定義類型的對象等。

以下是一個簡單的示例,演示了throw的用法:

#include <iostream>

int divide(int a, int b) {
    if (b == 0) {
        throw "除數(shù)不能為0";  // 拋出一個字符串異常
    }
    return a / b;
}

int main() {
    try {
        int result = divide(10, 0);
        std::cout << "結(jié)果: " << result << std::endl;
    }
    catch (const char* message) {
        std::cout << "捕獲到異常: " << message << std::endl;
    }
    return 0;
}

在上面的示例中,divide函數(shù)會檢查除數(shù)是否為0,如果是0,則拋出一個字符串異常。在main函數(shù)中,我們使用try塊來嘗試調(diào)用divide函數(shù),并在catch塊中捕獲異常。如果異常被拋出,catch塊將會執(zhí)行,并打印異常信息。

總結(jié)一下,throw用于拋出異常,catch用于捕獲并處理異常,這是C++中異常處理機制的關(guān)鍵部分。

0