ホームページ  >  記事  >  バックエンド開発  >  C++ 関数が例外を返した場合、どのように処理すればよいでしょうか?

C++ 関数が例外を返した場合、どのように処理すればよいでしょうか?

WBOY
WBOYオリジナル
2024-04-19 14:36:01972ブラウズ

C では、関数によって返された例外は try-catch ブロックを通じて処理されます。try ブロックには、例外をスローする可能性のあるコードが含まれています。 catch ブロックには例外処理コードが含まれており、クリーンアップ操作を実行し、エラー情報を記録します。

C++ 函数返回异常时如何处理?

#C 関数によって返される例外を処理するにはどうすればよいですか?

C では、関数は例外をスローすることでエラーを報告できます。例外は、関数が呼び出し元にエラー情報を渡すことを可能にするエラー処理メカニズムです。

関数戻り例外を処理するには、try-catch ブロックを使用する必要があります。

try {
  // 函数调用,可能会抛出异常
}
catch (exception& e) {
  // 异常处理代码
}

try このブロックには、 ##catch ブロックには例外処理コードが含まれています。例外処理コードは、クリーンアップ操作を実行し、必要に応じてエラー情報をログに記録します。

実際的なケース:

例外を返す次の関数を考えてみましょう:

int divide(int numerator, int denominator) {
  if (denominator == 0) {
    throw runtime_error("除数不能为 0");
  }
  return numerator / denominator;
}

try-catch を使用できます。この関数によって返される例外:

int main() {
  int numerator, denominator;
  cin >> numerator >> denominator;

  try {
    int result = divide(numerator, denominator);
    cout << "结果为:" << result << endl;
  }
  catch (exception& e) {
    cout << "除数不能为 0" << endl;
  }

  return 0;
}

denominator が 0 の場合、このプログラムはエラー メッセージを出力してプログラムを終了します。

以上がC++ 関数が例外を返した場合、どのように処理すればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。