次の方法で共有


CException クラス

更新 : 2007 年 11 月

MFC (Microsoft Foundation Class) ライブラリ内のすべての例外に関する基本クラスです。

class AFX_NOVTABLE CException : public CObject

解説

CException は抽象基本クラスです。したがって、CException オブジェクトを作成することはできないので、派生クラスのオブジェクトを作成します。独自の CException スタイル クラスを作成するには、以下の一覧の派生クラスの 1 つをモデルとして使ってください。派生クラスでは必ず IMPLEMENT_DYNAMIC を使います。

このクラスの派生クラスには次のものがあります。

CSimpleException

リソース クリティカルな MFC 例外の基本クラス

CInvalidArgException

無効な引数の例外状態

CMemoryException

メモリ不足の例外

CNotSupportedException

サポートされていない操作に関する例外

CArchiveException

アーカイブ関連例外

CFileException

ファイル関連例外

CResourceException

Windows のリソースが見つからない、または作成できない

COleException

OLE の例外

CDBException

データベースの例外 (ODBC (Open Database Connectivity) を基礎とした MFC データベース クラスでの例外状態)

COleDispatchException

OLE ディスパッチ (オートメーション) の例外

CUserException

リソースが見つからなかったことを示す例外

CDaoException

DAO (Data Access Object) の例外 (DAO クラスでの例外状態)

CInternetException

インターネットの例外 (Internet クラスでの例外状態)

これらの例外は THROWTHROW_LASTTRYCATCHAND_CATCH、および END_CATCH マクロで使います。例外の詳細については、「例外処理」または「例外処理 (MFC)」を参照してください。

特定の例外をキャッチするには、適切な派生クラスを使います。すべての種類の例外をキャッチするには、CException クラスを使い、CObject::IsKindOf を使って CException 派生クラスを区別します。動的な型チェックを利用するため、CObject::IsKindOfIMPLEMENT_DYNAMIC マクロを使って宣言されているクラスにのみ作用します。作成するすべての CException 派生クラスでも IMPLEMENT_DYNAMIC マクロが使われます。

例外の詳細な情報をユーザーにリポートするには、GetErrorMessage または ReportError を呼び出します。この 2 つのメンバ関数は、どの CException 派生クラスでも動作します。

例外がマクロの 1 つでキャッチされたときは、CException オブジェクトは自動的に削除されます。このオブジェクトは、手動で削除しないでください。catch キーワードを使って例外をキャッチしたときは、自動的には削除されません。例外オブジェクトの削除が必要な場合については、「例外処理 (MFC)」を参照してください。

必要条件

ヘッダー : afx.h

参照

参照

CObject クラス

階層図

その他の技術情報

CException のメンバ

例外処理