ホームページ  >  記事  >  バックエンド開発  >  C++ 関数の例外処理を使用するにはどうすればよいですか?

C++ 関数の例外処理を使用するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-04-15 15:57:01922ブラウズ

例外処理は、try-catch 構文を使用してキャプチャされる関数エラーを処理するメカニズムです。try ブロックには、例外を引き起こす可能性のあるコードが含まれています。 catch ブロックは特定のタイプの例外をキャッチします。例外オブジェクトにアクセスするには、Exception_type &e を使用します。 catch (...) はあらゆる種類の例外をキャッチします。たとえば、文字列を整数に変換する場合、無効な引数の場合はinvalid_argument例外が発生し、範囲外の場合はout_of_range例外が発生します。

C++ 函数异常处理如何使用?

C 関数例外処理

例外処理は、関数内で発生するエラーまたは例外を処理するための手法です。これにより、プログラム全体をクラッシュさせることなく、エラーを適切に処理できます。

構文

例外処理では、次の構文を使用します。

try {
  // 执行可能引发异常的代码
} catch (exception_type &e) {
  // 捕获特定类型的异常
} catch (...) {
  // 捕获任何类型的异常
}
  • try ブロックには、例外をスローする可能性のあるコードが含まれています。
  • catch ブロックは、特定のタイプの例外をキャッチするために使用されます。パラメータ Exception_type &e を使用して例外オブジェクトにアクセスします。
  • 任意のタイプの例外をキャッチしたい場合は、catch (...) を使用できます。

実践的なケース

例外処理を使用する実践的な例を見てみましょう:

#include <iostream>
#include <string>

using namespace std;

int main() {
try {
  // 将字符串转换为整数
  int num = stoi("abc");
} catch (invalid_argument &e) {
  // 处理无效参数异常
  cout << "Invalid integer: " << e.what() << endl;
} catch (out_of_range &e) {
  // 处理超出范围异常
  cout << "Out of range: " << e.what() << endl;
} catch (...) {
  // 处理任何其他异常
  cout << "Unknown error occurred." << endl;
}

return 0;
}

この場合、"abc" 整数に変換します。文字列に有効な整数が含まれていない場合は、invalid_argument 例外が発生します。また、値が int の範囲外の場合は、out_of_range 例外がスローされます。例外処理を使用して、これらの例外をキャッチし、適切に処理します。

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

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