Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

exception::exception

公众成员函数  <exception>

C++98 default (1)
exception() throw();
copy (2)
exception (const exception& e) throw();

异常处理
构造一个异常对象。

c++98
在复制构造之后调用成员 what 的效果取决于特定的库实现。

c++11
c++标准库中的每个异常(包括这个)至少都有一个复制构造函数, 该构造函数保留动态类型匹配时成员 what返回的字符串表示形式。


☲  参数


e
另一个异常对象。

☣  示例



// exception constructor
#include <iostream>       // std::cout
#include <exception>      // std::exception

struct ooops : std::exception {
  const char* what() const noexcept {return "Ooops!\n";}
};

int main () {
  ooops e;
  std::exception* p = &e;
  try {
      throw e;       // throwing copy-constructs: ooops(e)
  } catch (std::exception& ex) {
      std::cout << ex.what();
  }
  try {
      throw *p;      // throwing copy-constructs: std::exception(*p)
  } catch (std::exception& ex) {
      std::cout << ex.what();
  }
  return 0;
}

输出:
Ooops!
exception

☂ 异常安全性



无抛出保证:该成员函数从不抛出异常。

🍄  另请参阅



exception::what 获取字符串识别异常(公共成员函数)
exception::operator= 复制异常(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图