MFC异常 与C++标准异常

简介:

MFC异常

MFC 较好地将异常封装到CException类及其派生类中,自成体系,下表给出了MFC 提供的预定义异常:

异常类

含义

CMemoryException

内存不足

CFileException

文件异常

CArchiveException

存档/序列化异常

CNotSupportedException

响应对不支持服务的请求

CResourceException

Windows 资源分配异常

CDaoException

数据库异常(DAO 类)

CDBException

数据库异常(ODBC 类)

COleException

OLE 异常

COleDispatchException

调度(自动化)异常

CUserException

用消息框警告用户然后引发一般 CException 的异常

 标准异常

 

下面给出了C++提供的一些标准异常:

namespace std

{

    //exception 派生

    class logic_error; // 逻辑错误,在程序运行前可以检测出来

   

    //logic_error 派生

    class domain_error; // 违反了前置条件

    class invalid_argument; // 指出函数的一个无效参数

    class length_error; // 指出有一个超过类型size_t的最大可表现值长度的对象的企图

    class out_of_range; // 参数越界

    class bad_cast; // 在运行时类型识别中有一个无效的dynamic_cast表达式

    class bad_typeid; // 报告在表达试typeid(*p)中有一个空指针p

   

    //exception 派生

    class runtime_error; // 运行时错误,仅在程序运行中检测到

   

    //runtime_error 派生

    class range_error; // 违反后置条件

    class overflow_error; // 报告一个算术溢出

    class bad_alloc; // 存储分配错误

}

请注意观察上述类的层次结构,可以看出,标准异常都派生自一个公共的基类exception。基类包含必要的多态性函数提供异常描述,可以被重载。下面是exception类的原型:

class exception

{

public:

    exception() throw();

    exception(const exception& rhs) throw();

    exception& operator=(const exception& rhs) throw();

    virtual ~exception() throw();

    virtual const char *what() const throw();

};

其中的一个重要函数为what(),它返回一个表示异常的字符串指针。



本文转自莫水千流博客园博客,原文链接:http://www.cnblogs.com/zhoug2020/archive/2012/06/07/2541098.html,如需转载请自行联系原作者

相关文章
|
10月前
|
安全 编译器 C++
C++异常详细介绍
C++异常详细介绍
455 10
|
安全 程序员 编译器
【C++】异常
C++异常处理机制允许在程序运行时出现错误时,通过`try`、`catch`和`throw`关键字将错误信息传递回调用栈,进行异常处理。它支持异常的重新抛出、自定义异常体系以及标准库提供的异常类层次结构,如`std::exception`及其派生类。异常处理提高了代码的健壮性和可维护性,但也带来了性能开销和代码复杂性等问题。合理使用异常机制,可以有效提升程序的稳定性和安全性。
408 3
|
存储 监控 算法
基于跳表数据结构的企业局域网监控异常连接实时检测 C++ 算法研究
跳表(Skip List)是一种基于概率的数据结构,适用于企业局域网监控中海量连接记录的高效处理。其通过多层索引机制实现快速查找、插入和删除操作,时间复杂度为 $O(\log n)$,优于链表和平衡树。跳表在异常连接识别、黑名单管理和历史记录溯源等场景中表现出色,具备实现简单、支持范围查询等优势,是企业网络监控中动态数据管理的理想选择。
296 0
|
安全 Java 程序员
【C++11】异常知多少
【C++11】异常知多少
220 7
C++ 异常机制问题之捕获异常的问题如何解决
C++ 异常机制问题之捕获异常的问题如何解决
243 2
|
缓存 安全 Java
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点(下)
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点
252 7
|
程序员 Linux C语言
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点(上)
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点
232 3
|
安全 Java 程序员
|
安全 C++
详细解读c++异常模板复习
详细解读c++异常模板复习
179 0
|
存储 Java 程序员
【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一
【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一
229 0

热门文章

最新文章