C++ 异常处理

2014-11-24 08:09:07 · 作者: · 浏览: 0

一、整体代码

#include 
  
   
#include 
   
     using namespace std; class MyException { public: MyException(const char* message) : message_(message) { cout<<"MyException ..."<
    
     
二、结果

\

throw异常前面的代码,如果有变量要进行释放。比如test2还有MyException



< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICAvL015RXhjZXB0aW9uIGUo"division by zero");//调用构造函数

//throw e;//调用拷贝构造函数,成为全局变量

throw MyException("division by zero");//只调用构造函数

//throw 1.0;//抛出浮点数异常

此时结果如下:

\



obj_ = new Obj;

cout<<"Test2 ..."<

throw MyException("test exception2");//在对象还没有构造完成时,就抛出了异常

\

如果Test2构造函数中,抛出异常,那么类此时还没有构造完成,此时不会调用析构函数


三、解释

throw() 说明不能抛出异常

throw(MyException) 只能抛出MyException

如果异常未被捕获会出现下面的效果:被系统捕获了