258  7.  ,    ...

    doSomething ()   .
                  
defect_response    doSomething ().  , 
  doSomething ()   ,      
defect_response   .    
   ,      
.          .
  7.1, , ,  ,   ,
       .

//  7.1.  , 
//              ,   
//                ErrorHandler

void importantOperation(void)
{

//. . .
Result = reliable0peration();

if(Result != Success){

defect_response *Solver;

Solver = ErrorTable[Result];

Solver->doSomething() ;

}
else{

//  .
}

//. . .
}

  7.1    ,     -
 if-  case-.     -
        . 
 doSomething (),    7.1,    
Result. ,      
 . , ,   7.1  ,  ( ) -
       ,   -
  ErrorTable.   ,     ,   
reliableOperation ()  doSomething ()   .  -
  ,  ,  ,  ,    -
 7.1.       ,   ""  -
  .     .   7.1 ,
        ErrorTable. 
ErrorTable-      defect_response, -
 ,    defect_response.  ,     -
    ?   7.2 ,   
   importantOperation ()  .

//  7.2.    
//              importantOperation()

template<class ,class U> int importantOperation(void)
{

 ErrorTable;

// . . .