| 关键词: 异常 std C++ exception 可以通过 error 标准 使用 重载 定义 |
C++ 标准的异常 C++ 提供了一系列标准的异常,定义在 <exception> 中,我们可以在程序中使用这些标准的异常。它们是以父类层次结构组织起来的,如下所示: 下表是对上面层次结构中出现的每个异常的说明: 您可以通过继承和重载 exception 类来定义新的异常。下面的实例演示了如何使用 std::exception 类来实现自己的异常: 实例#include <iostream>#include <exception>using namespace std; struct MyException : public exception{ const char * what () const throw () { return "C++ Exception"; }}; int main(){ try { throw MyException(); } catch(MyException& e) { std::cout << "MyException caught" << std::endl; std::cout << e.what() << std::endl; } catch(std::exception& e) { //其他的错误 }}这将产生以下结果: MyException caughtC++ Exception在这里,what() 是异常类提供的一个公共方法,它已被所有子异常类重载。这将返回异常产生的原因。 + |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|