Visual C++ の例外処理

例外はプログラムは通常の実行パスになるのを防ぐプログラムで制御できない場合エラー条件です。指定した操作はオブジェクトの作成が入出力ファイルを使用するとプログラムが正しく動作している場合でも他のモジュールと呼び出し先の関数はすべて例外の可能性があるのです。信頼性の高いコードが例外を備え処理します。

一つのプログラムまたはモジュール内で論理エラーを使ってアサーション例外ではなく検出するには (アサーションを使用します。 を参照してください。

Visual C++ 3 種類の例外処理をサポートします :

  • C++ 例外処理

    ほとんどの C++ プログラムではタイプ セーフオブジェクトのデストラクターはスタック アンワインド時に呼び出されるようにする C++ 例外処理を使用する必要があります。

  • 構造化例外処理

    Windows ではは例外機構を使用して指定します。はC++ または MFC プログラミングには推奨されません。非 MFC の C プログラムではを使用します。

  • MFC 例外

    バージョン 3.0 以降MFC は C++ 例外を使用していますがまだフォームで C++ 例外に似た古い例外処理マクロをサポートします。これらのマクロが新しいプログラミングには推奨されませんが下位互換性のためにサポートされます。既にマクロを使用してプログラムでは自由に C++ の例外を使用できます。プリプロセス時にマクロは Visual C++ 2.0 以降で C++ 言語の Visual C++ の実装で定義されている例外処理のキーワードになります。C++ 例外を使用すると既存の例外処理マクロを定位置に使用できます。

例外処理の種類をプロジェクトで使用できるように指定する /EH コンパイラ オプションを使用してください ; C++ 例外処理は既定値です。エラー処理機能を使用しないでください ; たとえばAlice との C++ 例外を使用しないでください。混乱の MFC マクロと C++ の例外に関するアドバイスについては例外 : MFC マクロと C++ の例外を使用する を参照してください。

CLR アプリケーションの例外処理の詳細については/clr の下の例外処理 を参照してください。

x64 プロセッサの例外処理については例外処理 (x64) を参照してください。

参照

その他の技術情報

C++ 言語リファレンス