CException クラス
MFC (Microsoft Foundation Class) ライブラリ内のすべての例外に関する基本クラスです。
class AFX_NOVTABLE CException : public CObject
解説
CException は抽象基本クラスです。したがって、CException オブジェクトを作成することはできないので、派生クラスのオブジェクトを作成します。 独自の CException スタイル クラスを作成するには、以下の一覧の派生クラスの 1 つをモデルとして使ってください。 派生クラスでは必ず IMPLEMENT_DYNAMIC を使います。
このクラスの派生クラスには次のものがあります。
リソース クリティカルな MFC 例外の基本クラス |
|
無効な引数の例外状態 |
|
メモリ不足の例外 |
|
サポートされていない操作に関する例外 |
|
アーカイブ関連例外 |
|
ファイル関連例外 |
|
Windows のリソースが見つからない、または作成できない |
|
OLE の例外 |
|
データベースの例外 (ODBC (Open Database Connectivity) を基礎とした MFC データベース クラスでの例外状態) |
|
OLE ディスパッチ (オートメーション) の例外 |
|
リソースが見つからなかったことを示す例外 |
|
DAO (Data Access Object) の例外 (DAO クラスでの例外状態) |
|
インターネットの例外 (Internet クラスでの例外状態) |
これらの例外は THROW、THROW_LAST、TRY、CATCH、AND_CATCH、および END_CATCH マクロで使います。 例外の詳細については、「例外処理」または「例外処理 (MFC)」を参照してください。
特定の例外をキャッチするには、適切な派生クラスを使います。 すべての種類の例外をキャッチするには、CException クラスを使い、CObject::IsKindOf を使って CException 派生クラスを区別します。 動的な型チェックを利用するため、CObject::IsKindOf は IMPLEMENT_DYNAMIC マクロを使って宣言されているクラスにのみ作用します。 作成するすべての CException 派生クラスでも IMPLEMENT_DYNAMIC マクロが使われます。
例外の詳細な情報をユーザーにリポートするには、GetErrorMessage または ReportError を呼び出します。この 2 つのメンバー関数は、どの CException 派生クラスでも動作します。
例外がマクロの 1 つでキャッチされたときは、CException オブジェクトは自動的に削除されます。このオブジェクトは、手動で削除しないでください。 catch キーワードを使って例外をキャッチしたときは、自動的には削除されません。 例外オブジェクトの削除が必要な場合については、「例外処理 (MFC)」を参照してください。
必要条件
**ヘッダー:**afx.h