All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GslErrorException.cpp
Go to the documentation of this file.
1 // $Id: GslErrorException.cpp,v 1.2 2006/01/10 20:00:05 hmd Exp $
2 // ============================================================================
3 // ============================================================================
4 // Include files
5 // from Gaudi
9 // STD & STL
10 #include <algorithm>
11 #include <sstream>
12 // local
13 #include "GslErrorException.h"
14 
15 // ============================================================================
23 // ============================================================================
24 
25 // ============================================================================
31 // ============================================================================
33 ( const std::string& type ,
34  const std::string& name ,
35  const IInterface* parent )
36  : base_class ( type, name , parent )
37  , m_ignore ()
38 {
39  declareProperty ( "IgnoreCodes" , m_ignore );
40 }
41 // ============================================================================
42 
43 // ============================================================================
45 // ============================================================================
47 // ============================================================================
48 
49 // ============================================================================
56 // ============================================================================
58 ( const GslError& error ) const
59 {
61  // code to be ignored?
62  if( m_ignore.end() != std::find( m_ignore.begin () ,
63  m_ignore.end () ,
64  error.code ) ) { return sc ; }
65  //
66  std::ostringstream message;
67  message << " GSL ErrorCode="
68  << error.code << ": '" << error.reason << "' in the file '"
69  << error.file << "' at the line " << error.line;
70  throw GaudiException( message.str() , "*GLS Error*" , StatusCode::FAILURE );
72  return StatusCode::SUCCESS ;
73 }
74 // ============================================================================
75 
77 
78 // ============================================================================
79 // The END
80 // ============================================================================
std::string reason
error message ('reason')
Definition: GslError.h:21
std::string file
file name
Definition: GslError.h:23
Define general base for Gaudi exception.
Helper class to represent GSL errors.
Definition: GslError.h:17
int code
error code (GSL)
Definition: GslError.h:27
int line
line number
Definition: GslError.h:25
#define DECLARE_COMPONENT(type)
Definition: PluginService.h:36
virtual StatusCode handle(const GslError &error) const
handle the GSL error
string type
Definition: gaudirun.py:126
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
GslErrorException(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
virtual ~GslErrorException()
destructor (protected and virtual)
Concrete GSL eror handler It is just thrown the exception.