CException选件类

所有异常的基类在Microsoft基础选件类库中。

class AFX_NOVTABLE CException : public CObject

成员

yx1b5f5w.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

CException::CException

构造 CException 对象。

yx1b5f5w.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CException::Delete

删除 CException 对象。

CException::ReportError

在消息框中显示一条错误信息向用户报告。

备注

由于 CException 是抽象基类不能直接创建 CException 对象;必须创建派生类对象。 如果您需要创建自己的 CException样式选件类,请使用作为设计列出的上述派生类之一。 确保您的派生类也使用 IMPLEMENT_DYNAMIC

派生类及其说明下面所列:

CSimpleException

资源重要MFC异常的基类

CInvalidArgException

无效参数异常条件

CMemoryException

内存不足异常

CNotSupportedException

要求不支持的操作

CArchiveException

存档特定异常

CFileException

文件特定异常

CResourceException

无法创建Windows的资源未找到或

COleException

OLE异常

CDBException

数据库异常(即提供对MFC数据库选件类的异常条件基于了开放式数据库连接)

COleDispatchException

计划(OLE自动化)异常

CUserException

一个异常找不到资源

CDaoException

数据访问对象异常(即提供对DAO选件类)的异常条件

CInternetException

Internet异常(即为对于Internet选件类)的异常条件。

这些异常主要用于 引发THROW_LAST尝试"CATCH"AND_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选件类

层次结构图

其他资源

异常处理

如何:我创建"我的自定义异常选件类?