c++ 异常处理译自 c++ complete refrence 3rd Chapter 38 标准c++库定义了两个与异常相关的库,<exception>和<stdexcept>。异常通常用来报告错误。 <exception><exception>定义了与异常处理相关的类,声明和函数。 class exception { public: exception() throw(); exception(const char *const&); exception(const char *const&, int); exception(const bad_exception &ob) throw(); virtual ~exception() throw(); exception &operator=(const exception &ob) throw(); virtual const char *what(() const throw(); }; class bad_exception: public exception { public: bad_exception() throw(); bad_exception(const bad_exception &ob) throw(); virtual ~bad_exception() throw(); bad_exception &operator=(const bad_exception &ob) throw(); virtual const char *what(() const throw(); }; exception类是c++库中所有异常的父类。unexpected()函数抛出的就是bad_exception类型。每个异常类都重写了what()用于返回一段描述异常的字符串。 一些重要的类都继承于exception类。第一个是bad_alloc,当new操作失败时被抛出。另一个是bad_typeid,当错误地使用typeid运算时抛出。 <exception>定义下面的声明
<exception>定义下面的函数
<stdexcept><stdexcept>定义了一些标准的异常类。分为两大类:逻辑错误和运行时错误。其中运行时错误是程序员不能控制的。 逻辑错误都继承自logic_error
运行时错误都继承自runtime_error
|
c++中exception和stdexcept
最新推荐文章于 2024-09-15 09:31:58 发布