Programming 版 (精华区)

发信人: Mice (做梦的鼠儿), 信区: Programming
标  题: VC(mfc)-------异常处理类(2)
发信站: 紫丁香 (Tue Oct  7 08:24:54 1997)


CException类  (其他异常处理类的根)
  
  CException类是异常处理的根,类CException是CObject的派生类

定义如下:

     class CException:public COject
   {
     //abstract class for dynamic type checking
     DECLARE_DYNAMIC(CException)
   };

作用:
#1: 它是异常处理的根;
#2: 它是一个通用的异常处理类。

利用这个类及其成员函数CObject::IsKindOf可支持能处理异常的派生类







CMemoryException类 (内存异常处理)

   CMemoryException类用于建立一个内存溢出错误条件。

定义如下:

   class CMemoryException : public CException
  {
    DECLARE_DYNAMIC(CMemoryException)
   public:
    CMemoryException();
  };

  操作符new会自动引发内存异常处理,相反用malloc函数则必须有一条
明确的THROW语句才会引发内存异常的处理。

   const MAX_SIZE = 3000;
   char  *pszStr;
   TRY
   {
     pszStr = new char[MAX_SIZE]; //creat  large string
      // statements to proess dynamic string
     ·
     ·
     ·
     delete [] pszStr;
   }
   
   CATCH(CMemoryExcetion,e)
   {
    cout << "Error allocating string\n";
   }
   END_CATCH


--
我是一只好老鼠!
          />>>
         (*>
()%\%\%\%|*|33333333333333333333333333333333333>
         (*>
          \>>>

※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: 202.118.226.75]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.604毫秒