     ,       . 
    ,       
   : 

    int AnyFunction()
    { 
      AnyClass *p = new AnyClass(123);
      // ... 
      if (condition) {
        delete p;	//         
        throw Error();      //    AnyFunction 
      } 
      delete p;	//  ,   condition  
      return 123;	//  .  ,  
                                    //   
    } 

       delete   ,  
      : 

    int AnyFunction() 
    { 
      AnyClass *p = new AnyClass{123); 
      // ... 
      delete p; 
      if (condition) throw Error(); 
      return 123; 
    }

     ,  condition,    , 
    ,     . 

        

           
  ,      .     C++   
       ,  
  -,        , 
    . 
           
   throw,       : 

    class AnyClass { 
    public: 
      AnyClass()
         { if (condition) throw Error(); } 
     ~AnyClass() { } 
   }; 

         ,    
  ,     
,    e .   
       ,  
    ,    . 
  : 

    class AnyClass { 
       OtherClass x; 
    public: 
       AnyClass(): x(123) 
          { if (condition) throw ErrorO;   } 
          ~AnyClass() { } 
    }; 

       OtherClass   AnyClass  ,  
     .   OtherClass 
  ,     
.     ,   AnyClass 
 , , ,  AnyClass  .   
     ,   : 

    class AnyClass { 
      OtherClass a, b, ; 
    public: 
      AnyClass: a(), b(). c() { } 
      ~AnyClassO { } 
    }; 


    416      III.   ANSI C++ 
