| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ExceptionSvc.h
Go to the documentation of this file.
1 #ifndef GAUDISVC_EXCEPTIONSVC_H
2 #define GAUDISVC_EXCEPTIONSVC_H
3 // ============================================================================
4 // Include files
5 // ============================================================================
6 // GaudiKernel
7 // ============================================================================
8 #include "GaudiKernel/IExceptionSvc.h"
9 #include "GaudiKernel/Service.h"
10 #include "GaudiKernel/MsgStream.h"
11 // ============================================================================
18 // ============================================================================
19 class ExceptionSvc: public extends1<Service, IExceptionSvc> {
20 public:
22 virtual StatusCode handle
23 ( const INamedInterface& o ,
24 const GaudiException& e ) const ;
25
26 virtual StatusCode handle
27 ( const INamedInterface& o ,
28 const std::exception & e ) const ;
29
30 virtual StatusCode handle
31 ( const INamedInterface& o ) const ;
32
33 virtual StatusCode handleErr
34 ( const INamedInterface& o ,
35 const StatusCode& s ) const ;
36 public:
38 virtual StatusCode initialize () ;
40 virtual StatusCode finalize () ;
41 public:
46 ExceptionSvc
47 ( const std::string& name ,
48 ISvcLocator* svc ) ;
50 virtual ~ExceptionSvc();
51 private:
52 // default constructor is disabled
53 ExceptionSvc () ;
54 // copy constructor is disabled
55 ExceptionSvc ( const ExceptionSvc& ) ;
56 // assignment operator is disabled
57 ExceptionSvc& operator=( const ExceptionSvc& ) ;
58 // process exceptions
59 virtual StatusCode process ( const INamedInterface& o ) const ;
60 private:
61
62 enum Policy { ALL, NONE };
63 enum ReturnState { SUCCESS, FAILURE, RECOVERABLE, RETHROW, DEFAULT };
64
65 Policy m_mode_exc, m_mode_err;
66 StringProperty m_mode_exc_s, m_mode_err_s;
67 std::map<std::string,ReturnState> m_retCodesExc, m_retCodesErr;
68
69 mutable MsgStream m_log;
70
71 };
72
73 // ============================================================================
74 #endif // GAUDISVC_EXCEPTIONSVC_H
75 // ============================================================================
76 // The END
77 // ============================================================================