c++异常处理机制示例及讲解

2014-11-12 23:15:07 · 作者: · 浏览: 32

  这两天我写了一个测试c++异常处理机制的例子,感觉有很好的示范作用,在此贴出来,给c++异常处理的初学者入门。本文后附有c++异常的知识普及,有兴趣者也可以看看。


  下面的代码直接贴到你的console工程中,可以运行调试看看效果,并分析c++的异常机制。


  #include "stdafx.h"


  #include


  #include


  #include


  // 内存泄露检测机制


  #define _CRTDBG_MAP_ALLOC


  #ifdef _DEBUG


  #define new new(_NORMAL_BLOCK, __FILE__, __LINE__)


  #endif


  // 自定义异常类


  class MyExcepction


  {


  public:


  // 构造函数,参数为错误代码


  MyExcepction(int errorId)


  {


  // 输出构造函数被调用信息


  std::cout << "MyExcepction is called" << std::endl;


  m_errorId = errorId;


  }


  // 拷贝构造函数


  MyExcepction( MyExcepction& myExp)


  {


  // 输出拷贝构造函数被调用信息


  std::cout << "copy construct is called" << std::endl;


  this->m_errorId = myExp.m_errorId;


  }


  ~MyExcepction()


  {


  // 输出析构函数被调用信息


  std::cout << "~MyExcepction is called" << std::endl;


  }