CException 類別
所有例外狀況的基底類別在 MFC 程式庫。
class AFX_NOVTABLE CException : public CObject
Members
公用建構函式
名稱 |
描述 |
---|---|
建構 CException 物件。 |
公用方法
名稱 |
描述 |
---|---|
刪除 CException 物件。 |
|
在訊息方塊中顯示一個錯誤訊息向使用者報告。 |
備註
由於 CException 是抽象基底類別。您無法直接建立物件, CException 您必須建立衍生類別的物件。 如果您需要建立自己的 CException樣式類別,請使用做為模型上面所列的其中一個衍生類別。 請確定您的衍生類別 (Derived Class) 會使用 IMPLEMENT_DYNAMIC。
衍生類別及其描述如下所列:
資源重要 MFC 例外狀況的基底類別 |
|
無效引數例外狀況 |
|
記憶體不足例外狀況 |
|
要求不受支援的作業。 |
|
檔案的特定例外狀況。 |
|
檔案的特定例外狀況。 |
|
無法建立視窗的資源或找不到 |
|
OLE 例外狀況。 |
|
資料庫例外狀況 (即引發的 MFC 資料庫類別的例外狀況是以 Open 開放式資料庫連接) |
|
OLE Automation 分派 () 例外狀況。 |
|
例外狀況以表示找不到資源 |
|
資料存取物件 (也就是例外狀況發生的 DAO 類別) 的例外狀況 |
|
網際網路例外狀況 (即引發為網際網路類別) 的例外狀況。 |
這些例外狀況的用意是要與 擲回。、 THROW_LAST、 嘗試。、 catch, AND_CATCH和 END_CATCH 巨集。 如需例外狀況的詳細資訊,請參閱 例外狀況處理。或者參閱本文 例外處理 (MFC)。
若要攔截特定例外狀況,請使用適當的衍生類別。 若要攔截例外狀況的所有型別,請使用 CException,然後使用 CObject::IsKindOfCException在衍生類別中區分。 請注意 CObject::IsKindOf 只適用於類別的宣告 IMPLEMENT_DYNAMIC 巨集,以使用動態型別檢查。 任何 CException-您建立的衍生類別都應該使用 IMPLEMENT_DYNAMIC 巨集,則也是。
您可以與例外狀況有關的詳細資料會向使用者報告藉由呼叫 GetErrorMessage 或 ReportError,以及任何 CException 的衍生類別所需的兩個成員函式。
如果例外狀況是由其中一個巨集 CException 攔截,會自動刪除物件;請勿刪除自己。 您可以使用 catch 關鍵字,如果偵測到例外狀況,它不會自動刪除。 何時參閱本文 例外處理 (MFC) 如需刪除 exeption 物件的詳細資訊。
繼承階層架構
CException
需求
Header: afx.h