       b   ,    
,     AnyCIass.      
 (      ,  b  
 ),     ,   AnyCIass  . 

       

            .  
    -,    Raise(). , 
       : 

    Class Error { 
       void Raise()
	{ throw Error();  }  
    }; 

         Error,  

    e.Raise();	//     Error 

  ,       
.    ,   Error,  
        , 
         : 

    throw ;	//       


          

      ,  new   , 
      ,      
 C++,    null ()    . 

     

        new  no-,      
,       NEW.H     main()
 :

     set_new_handler(0) ;

     , ,    : 

    AnyCIass *p;		//    AnyCIass 
     = new AnyClass();	//    AnyCIass,   
    if ( == 0} Error();		//  ,     

        new      
AnyCIass    ,  ,  new    
    .   ,   
    new    . 
          new.  
   op new     
xalloc,     E.  : 

    class xalloc : public xmsg { 
    public: 
        xalloc(const string &msg, size_t size), 
       size_t requested() const; 
       void raise() throw(xalloc); 
   private: 
      size_t siz; 
   }; 

          new  
,  ,  try,      
catch    xalloc. ,    : 

    try { 
       = new AnyClass(); 
      // ...  ,   
    }
    catch (xalloc ) { 
      cout  "Memory error:   x.why()  endl; 
      exit(-1);    
    }


    15.   C++ Borland C++4.5     417 
