All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GslErrorHandlers.cpp
Go to the documentation of this file.
1 // ============================================================================
2 // Include files
3 // GaudiKernel
4 #include "GaudiKernel/GaudiException.h"
5 // GaudiGSL
6 #include "GaudiGSL/IGslSvc.h"
7 #include "GaudiGSL/GslError.h"
8 // local
9 #include "GaudiGSL/GslErrorHandlers.h"
10 #include "GaudiGSL/GaudiGSL.h"
11 
12 #include <sstream>
13 
24 ( const char* /* reason */ ,
25  const char* /* file */ ,
26  int /* line */ ,
27  int /* code */ )
28 {}
29 
31 ( const char* reason ,
32  const char* file ,
33  int line ,
34  int code )
35 {
36  // het the GSL service
37  const IGslSvc* svc = GaudiGSL::gslSvc() ;
38  // handle the error if service is valid
39  if( nullptr != svc ) { svc->handle( GslError( reason , file , line , code ) ) ; }
40 }
41 
43 ( const char* reason ,
44  const char* file ,
45  int line ,
46  int code )
47 {
48  std::ostringstream error;
49  error << " GSL ErrorCode=" << code << ": '" << reason
50  << "' in the file '" << file << "' at the line " << line;
51  throw GaudiException( error.str() , "*GLS Error*" , StatusCode::FAILURE );
52 }
53 
54 // ============================================================================
55 // The END
56 // ============================================================================
Define general base for Gaudi exception.
Helper class to represent GSL errors.
Definition: GslError.h:15
The abstract interface to "deal" with GNU Scientific Library (GLS) The main task is the error handlin...
Definition: IGslSvc.h:16
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:27
virtual StatusCode handle(const GslError &error) const =0
handle the GSL error