GslErrorHandlers.cpp
Go to the documentation of this file.
1 // $Id: GslErrorHandlers.cpp,v 1.1 2003/11/19 16:55:59 mato Exp $
2 // ============================================================================
3 //
4 // ============================================================================
5 // Include files
6 // GaudiKernel
7 #include "GaudiKernel/GaudiException.h"
8 // GaudiGSL
9 #include "GaudiGSL/IGslSvc.h"
10 #include "GaudiGSL/GslError.h"
11 // local
12 #include "GaudiGSL/GslErrorHandlers.h"
13 #include "GaudiGSL/GaudiGSL.h"
14 
15 #include <sstream>
16 
27 ( const char* /* reason */ ,
28  const char* /* file */ ,
29  int /* line */ ,
30  int /* code */ )
31 {}
32 
34 ( const char* reason ,
35  const char* file ,
36  int line ,
37  int code )
38 {
39  // het the GSL service
40  const IGslSvc* svc = GaudiGSL::gslSvc() ;
41  // handle the error if service is valid
42  if( 0 != svc ) { svc->handle( GslError( reason , file , line , code ) ) ; }
43 }
44 
46 ( const char* reason ,
47  const char* file ,
48  int line ,
49  int code )
50 {
51  std::ostringstream error;
52  error << " GSL ErrorCode=" << code << ": '" << reason
53  << "' in the file '" << file << "' at the line " << line;
54  throw GaudiException( error.str() , "*GLS Error*" , StatusCode::FAILURE );
55 }
56 
57 // ============================================================================
58 // The END
59 // ============================================================================
Define general base for Gaudi exception.
Helper class to represent GSL errors.
Definition: GslError.h:17
The abstract interface to "deal" with GNU Scientific Library (GLS) The main task is the error handlin...
Definition: IGslSvc.h:18
GAUDI_API void throwException(const char *reason, const char *file, int line, int code)
The simple Gsl Error handler, it throwns the Gaudi Exception.
list file
Definition: ana.py:160
GAUDI_API void handleTheError(const char *reason, const char *file, int line, int code)
The simplest Gsl Error handler, It delegates the actual error handling to GSL Service.
GAUDI_API void ignoreTheError(const char *reason, const char *file, int line, int code)
The simplest Gsl Error handler, It simply ingnores the error.
static const IGslSvc * gslSvc()
static accessor to Gaudi GSL Service
Definition: GaudiGSL.cpp:30
virtual StatusCode handle(const GslError &error) const =0
handle the GSL error
int line
Definition: ana.py:50