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

WBOY
リリース: 2024-04-12 21:06:02
オリジナル
682 人が閲覧しました

例外処理は、実行時エラーを処理するための C のメカニズムです。 throw と catch で例外をスローし、try、catch、finally ブロックで処理します。具体的な構文は次のとおりです。 try { // 例外を引き起こす可能性のあるコード}catch (const std::Exception& e) { // 例外をキャッチして処理します}catch(...) { // すべての例外をキャッチします}

C++ 中如何处理函数异常?

C で関数例外を処理する方法

例外処理は、実行時エラーを処理するための C のメカニズムです。例外をスローするには throw キーワードを使用し、例外をキャッチして処理するには try、catch、およびオプションでfinally ブロックを使用します。

構文:

try { // 可能引发异常的代码 } catch (const std::exception& e) { // 捕获并处理异常 } catch(...) { // 捕获所有异常 }
ログイン後にコピー

実際の例:

文字列を整数に変換する次の関数について考えてみましょう。 ##

int string_to_int(std::string str) { try { int num = std::stoi(str); return num; } catch (const std::invalid_argument& e) { std::cout << "无法将字符串转换为整数" << std::endl; return -1; } catch (const std::out_of_range& e) { std::cout << "整数超出范围" << std::endl; return -1; } }
ログイン後にコピー

この関数を main 関数で使用します:

int main() { std::string input = "123"; int num; try { num = string_to_int(input); std::cout << num << std::endl; } catch (const std::exception& e) { std::cout << "出现异常: " << e.what() << std::endl; } return 0; }
ログイン後にコピー

利点:

    プログラムの堅牢性の向上
  • ハンドル固有の許可特定の場所での例外
  • エラー情報とカスタム エラー処理の提供
  • プログラムの予期せぬ終了の防止

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!