CException

CObject
 └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在消息框中向用户报告一个错误信息