CException选件类
所有异常的基类在Microsoft基础选件类库中。
class AFX_NOVTABLE CException : public CObject
成员
公共构造函数
名称 |
说明 |
---|---|
构造 CException 对象。 |
公共方法
名称 |
说明 |
---|---|
删除 CException 对象。 |
|
在消息框中显示一条错误信息向用户报告。 |
备注
由于 CException 是抽象基类不能直接创建 CException 对象;必须创建派生类对象。 如果您需要创建自己的 CException样式选件类,请使用作为设计列出的上述派生类之一。 确保您的派生类也使用 IMPLEMENT_DYNAMIC。
派生类及其说明下面所列:
资源重要MFC异常的基类 |
|
无效参数异常条件 |
|
内存不足异常 |
|
要求不支持的操作 |
|
存档特定异常 |
|
文件特定异常 |
|
无法创建Windows的资源未找到或 |
|
OLE异常 |
|
数据库异常(即提供对MFC数据库选件类的异常条件基于了开放式数据库连接) |
|
计划(OLE自动化)异常 |
|
一个异常找不到资源 |
|
数据访问对象异常(即提供对DAO选件类)的异常条件 |
|
Internet异常(即为对于Internet选件类)的异常条件。 |
这些异常主要用于 引发、 THROW_LAST、 尝试、 "CATCH",AND_CATCH和 END_CATCH 宏。 有关异常的更多信息,请参见 异常处理或看得到文章 异常处理(MFC)。
要捕捉特定异常,请使用适当的派生类。 捕获异常的所有类型,请使用 CException,然后使用 CObject::IsKindOf 在 CException派生类中区分。 请注意 CObject::IsKindOf 仅工作选件类的声明与 IMPLEMENT_DYNAMIC 宏,为了利用动态类型检查。 任何 CException-要创建的派生类应使用 IMPLEMENT_DYNAMIC 宏,也是。
您可以将有关异常的详细信息向用户报告通过调用 GetErrorMessage 或 ReportError,与任何CException的派生类的两个成员函数。
如果异常是由一个宏来捕获,CException 会自动删除对象;不要将其删除您。 使用 "Catch" 关键字,如果捕获到异常,它不会自动被删除。 在参见中的文章 异常处理(MFC) 有关删除exeption对象的更多信息。
继承层次结构
CException
要求
Header: afx.h