TRY 〜 CATCH 〜 END_CATCHマクロを使用した例外処理


  品質のよいソフトを作成するためには、例外処理は必須の要素です。
そこで、C++には、try 〜 catchという例外処理をする構文があります。
もちろん、Visual C++でこれを使用することは可能ですが、Visual C++には
同様な処置を実施するたまのマクロが存在します。

【TRY 〜 CATCH 〜 END_CATCHの構文】

  TRY{

      通常処理

  }
  CATCH(例外クラス*){

      例外処理

  }
    END_CATCH

 ここで、CATCHで拾った別の例外処理を同じTRY構文で実施したい場合があります。
そんな時は、AND_CATCHを使用します。

  TRY{

      通常処理

  }
  CATCH(例外クラス*){

      例外処理

  }
    AND_CATCH(例外クラス*){

	例外処理

    }
    END_CATCH

 どうですか、if 〜 else if 〜みたいで便利です。




 例外をスローしたい場合は、throwを使用します。

【throwの構文】

  throw(例外クラス)

  例外クラスは省略可能

例外クラス
CMemoryExceptionメモリ不足例外
CFileExceptionファイル例外
CArchiveExceptionアーカイブ/シリアル化例外
CNotSupportedExceptionサポートされていないサービスを要求されたときの応答
CResourceExceptionWindows リソース割り当て例外
CDaoExceptionデータベース例外 (DAO クラス)
CDBExceptionデータベース例外 (ODBC クラス)
COleExceptionOLE 例外
COleDispatchExceptionディスパッチ (オートメーション) 例外
CUserExceptionメッセージ ボックスでユーザーに警告を与えてから汎用CExceptionをスローする例外
CInternetExceptionインターネットの例外 (Internet クラスでの例外状態)
PS.例外クラスの詳細はMSDNを参照して下さい。