C++でのthrow文の使い方は何ですか。

C++では、throwは例外を投げるために使用されます。これは基本型、ユーザー定義型、標準ライブラリが提供する例外クラスなど、投げられるタイプに対して使用できます。

throw文は通常、tryとcatchと一緒に使用され、例外処理に使用されます。throw文が実行されると、現在の実行フローが直ちに中断され、制御が最も近いcatchブロックに移ります。

文法の例:

throw expression;

expressionは整数、浮動小数点数、カスタムタイプのオブジェクトなど、投げ出すことができる任意の種類のものです。

以下は、throwの使用例を示す簡単な例です。

#include <iostream>

int divide(int a, int b) {
    if (b == 0) {
        throw "除数不能为0";  // 抛出一个字符串异常
    }
    return a / b;
}

int main() {
    try {
        int result = divide(10, 0);
        std::cout << "结果: " << result << std::endl;
    }
    catch (const char* message) {
        std::cout << "捕获到异常: " << message << std::endl;
    }
    return 0;
}

上記の例では、divide関数は除数が0かどうかをチェックし、0の場合は文字列の例外を投げます。main関数では、divide関数を呼び出すためにtryブロックを使用し、catchブロックで例外をキャッチします。例外が投げられた場合、catchブロックが実行され、例外情報が出力されます。

要总结一下,throw用于引发异常,而catch用于捕获和处理异常,这是C++中异常处理机制的关键组成部分。

bannerAds