
CException Microsoft Foundation クラス ライブラリ内のすべての例外の基本クラスです。派生クラスおよびその説明次のとおりです。:
| CMemoryException | メモリ不足の例外 |
| CNotSupportedException | サポートされていない操作の要求 |
| CArchiveException | アーカイブに固有の例外 |
| CFileException | ファイル固有の例外 |
| CResourceException | Windows のリソースが見つかりませんまたはない createable |
| COleException | OLE 例外 |
| CDBException | データベース exceptionnbsp;(つまり、MFC の例外状態データベースのオープン データベース接続に基づくクラス)(&N) |
| COleDispatchException | OLE ディスパッチ (オートメーション) 例外 |
| CUserException | リソースが見つからなかったことを示す例外 |
| CDaoException | データ アクセス オブジェクト例外 (DAO クラスは、例外状態) |
| CInternetException | インターネット例外 (つまり、例外条件が生じるインターネット クラスを)。 |
これらの例外をスロー、 THROW_LAST、しようと、キャッチ、 AND_CATCH、 END_CATCHマクロを使用するものです。例外の詳細については、例外の処理を参照してくださいまたはを参照してください Visual の C++ プログラマのガイドの例外。
特定の例外をキャッチするには、適切な派生クラスを使用します。例外のキャッチのすべての種類には、 CException、使用し、 CObject::IsKindOfを使用してCExceptionの間で区別するために-クラスを派生します。CObject::IsKindOf IMPLEMENT_DYNAMICマクロでは、動的な型チェックの利点を宣言クラスに対してのみ動作することに注意してください。任意のCException-する派生クラスは、 IMPLEMENT_DYNAMICマクロをも使用する必要があります。
GetErrorMessageまたはReportError、 CExceptionの派生クラスのいずれかで動作する 2 つのメンバー関数を呼び出して、ユーザーの例外についての詳細を報告することができます。
マクロのいずれかで例外がキャッチされる場合、 CExceptionオブジェクトが自動的に削除されます。それは自分自身を削除しないでください。Catchキーワードを使用して例外をキャッチする場合、それは自動的に削除されません。参照してください Visual C++ ガイド プログラマの詳細については、例外オブジェクトを削除する場合の例外。
CException抽象基本クラスです。CExceptionオブジェクトを作成することはできません。派生クラスのオブジェクトを作成する必要があります。独自のCException型を作成する必要がある場合は、上記のモデルとして、派生クラスのいずれかを使用します。IMPLEMENT_DYNAMICも、派生クラスを使用することを確認します。
#include lt;afx.h>
サンプル特価; 涙を MFC サンプル(&N)
参照特価;例外の処理(&N)