The Gaudi Framework  master (37c0b60a)
IExceptionSvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 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
IExceptionSvc::DeclareInterfaceID
DeclareInterfaceID(IExceptionSvc, 3, 0)
InterfaceID.
std::exception
STL class.
IExceptionSvc
Definition: IExceptionSvc.h:34
GaudiException.h
gaudirun.s
string s
Definition: gaudirun.py:346
GaudiException
Definition: GaudiException.h:31
StatusCode
Definition: StatusCode.h:65
IInterface.h
INamedInterface
Definition: INamedInterface.h:25
IExceptionSvc::handle
virtual StatusCode handle(const INamedInterface &o, const GaudiException &e) const =0
Handle caught GaudiExceptions.
IInterface
Definition: IInterface.h:239
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81