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++中异常处理机制的关键组成部分。