CException

CException是Microsoft基本類庫中處理各種異常的基礎庫。

其派生庫及描述如下:

CMemoryException 記憶體不夠
CNotSupportedException請求不支持的操作
CArchiveException文檔指定異常
CFileException檔案指定異常
CResourceExceptionWindows資源未找到或不可創建
COleExceptionOLE異常
CDBException資料庫異常(即基於開放資料庫連線的MFC資料庫類出現異常)
COleDispatchExceptionOLE傳送(自動)異常
CUserException資源無法找到
CDaoException數據訪問對象異常(即DAO類出現異常)
CInternetExceptionInternet異常(即Internet類出現異常)

這些異常經常使用THROW,THROW_LAST,TRY,CATCH,AND_CATCH,END_CATCH宏。要了解有關異常的更多信息,請參閱在線上文檔“Visual C++程式設計師指南”中的“異常”或“異常處理”。

要獲取指定的異常,可使用相對應的派生庫。要獲取所有異常的類型,可調用CException,然後用CObject::IsKindOf來區分CException派生類。注意CObject::IsKindOf僅對由IMPLEMENT-DANAMIC宏定義的類有效,以便得到動態類型檢查帶來的好處。任何CException派生類都應由IMPLEMENTDANAMIC宏創建。

可以調用GetErrorMessage或ReportError來向用戶報告異常的詳細情況。這兩個派生類適用於任何CException派生類。

如果一個宏獲取異常,CException對象會被自動刪除,無須用戶刪除。

如果Catch關鍵字得到異常,則不會自動刪除。請參閱在線上文檔“Visual C++程式設計師指南”中的“異常”,以了解有關何時刪除一個異常對象的更多信息。

CException是一個抽象基類,不可構造一個CException對象。如果想創建自己的CException類型,可參照上述派生類。注意派生類也使用了IMPLEMENTDANAMIC。

#include <afx.h>

CException類的成員

操作

CException 構造一個CException對象
Delete刪除一個CException對象
GetErrorMessage獲取異常描述信息
ReportError在訊息框中向用戶報告一個錯誤信息

相關詞條

相關搜尋

熱門詞條

聯絡我們