共用方式為


CException 類別

所有例外狀況的基底類別在 MFC 程式庫。

class AFX_NOVTABLE CException : public CObject

Members

yx1b5f5w.collapse_all(zh-tw,VS.110).gif公用建構函式

名稱

描述

CException::CException

建構 CException 物件。

yx1b5f5w.collapse_all(zh-tw,VS.110).gif公用方法

名稱

描述

CException::Delete

刪除 CException 物件。

CException::ReportError

在訊息方塊中顯示一個錯誤訊息向使用者報告。

備註

由於 CException 是抽象基底類別。您無法直接建立物件, CException 您必須建立衍生類別的物件。 如果您需要建立自己的 CException樣式類別,請使用做為模型上面所列的其中一個衍生類別。 請確定您的衍生類別 (Derived Class) 會使用 IMPLEMENT_DYNAMIC

衍生類別及其描述如下所列:

CSimpleException

資源重要 MFC 例外狀況的基底類別

CInvalidArgException

無效引數例外狀況

CMemoryException

記憶體不足例外狀況

CNotSupportedException

要求不受支援的作業。

CArchiveException

檔案的特定例外狀況。

CFileException

檔案的特定例外狀況。

CResourceException

無法建立視窗的資源或找不到

COleException

OLE 例外狀況。

CDBException

資料庫例外狀況 (即引發的 MFC 資料庫類別的例外狀況是以 Open 開放式資料庫連接)

COleDispatchException

OLE Automation 分派 () 例外狀況。

CUserException

例外狀況以表示找不到資源

CDaoException

資料存取物件 (也就是例外狀況發生的 DAO 類別) 的例外狀況

CInternetException

網際網路例外狀況 (即引發為網際網路類別) 的例外狀況。

這些例外狀況的用意是要與 擲回。THROW_LAST嘗試。catchAND_CATCHEND_CATCH 巨集。 如需例外狀況的詳細資訊,請參閱 例外狀況處理。或者參閱本文 例外處理 (MFC)

若要攔截特定例外狀況,請使用適當的衍生類別。 若要攔截例外狀況的所有型別,請使用 CException,然後使用 CObject::IsKindOfCException在衍生類別中區分。 請注意 CObject::IsKindOf 只適用於類別的宣告 IMPLEMENT_DYNAMIC 巨集,以使用動態型別檢查。 任何 CException-您建立的衍生類別都應該使用 IMPLEMENT_DYNAMIC 巨集,則也是。

您可以與例外狀況有關的詳細資料會向使用者報告藉由呼叫 GetErrorMessageReportError,以及任何 CException 的衍生類別所需的兩個成員函式。

如果例外狀況是由其中一個巨集 CException 攔截,會自動刪除物件;請勿刪除自己。 您可以使用 catch 關鍵字,如果偵測到例外狀況,它不會自動刪除。 何時參閱本文 例外處理 (MFC) 如需刪除 exeption 物件的詳細資訊。

繼承階層架構

CObject

CException

需求

Header: afx.h

請參閱

參考

CObject 類別

階層架構圖

其他資源

例外狀況的處理

如何?:建立自己的自訂例外狀況類別?