The Gaudi Framework  v33r0 (d5ea422b)
IExceptionSvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 // ============================================================================
12 #ifndef GAUDIKERNEL_IEXCEPTIONSVC_H
13 #define GAUDIKERNEL_IEXCEPTIONSVC_H
14 // ============================================================================
15 // Include files
16 // ============================================================================
17 // GaudiKernel
18 // ============================================================================
20 #include "GaudiKernel/IInterface.h"
21 // ============================================================================
22 // Forward declarations
23 // ============================================================================
24 class INamedInterface;
25 // ============================================================================
33 // ============================================================================
34 class GAUDI_API IExceptionSvc : virtual public IInterface {
35 public:
39  virtual StatusCode handle( const INamedInterface& o,
40  const GaudiException& e ) const = 0;
41  virtual StatusCode handle( const INamedInterface& o,
43  const std::exception& e ) const = 0;
44  virtual StatusCode handle( const INamedInterface& o ) const = 0;
46  virtual StatusCode handleErr( const INamedInterface& o, const StatusCode& s ) const = 0;
48 };
49 // ============================================================================
50 
51 // ============================================================================
52 #endif // GAUDIKERNEL_IEXCEPTIONSVC_H
Define general base for Gaudi exception.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:61
Definition of the basic interface.
Definition: IInterface.h:254
STL class.
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
IInterface compliant class extending IInterface with the name() method.
string s
Definition: gaudirun.py:328
#define GAUDI_API
Definition: Kernel.h:81
The abstract interface for exception handling service.
Definition: IExceptionSvc.h:34