112 template <
class OBJECT,
class FUNCTION>
118 if ( svc &&
m_sc.isFailure() ) {
m_sc = svc->handleErr( *obj,
m_sc ); }
122 if ( svc ) {
m_sc = svc->handle( *obj, e ); }
123 }
catch (
const std::exception& e ) {
126 if ( svc ) {
m_sc = svc->handle( *obj, e ); }
130 if ( svc ) {
m_sc = svc->handle( *obj ); }
227 std::string
const m_evt;
This class represents an entry point to all the event specific data.
const StatusCode code() const
std::string const m_evt
Event type.
SmartIF< IAuditor > m_svc
auditor service
const EventContext & m_context
Pointer to a EventContext instance, to be passed to the "before" and "after" function If given,...
AuditorGuard & operator=(const AuditorGuard &right)=delete
AuditorGuard(std::string name, IAuditor *svc, std::string const &evt, EventContext const &context={})
std::string m_objName
the guarded object name (if there is no INamedInterface)
StatusCode const * m_sc
Pointer to a status code instance, to be passed to the "after" function if needed The instance must h...
The most simple guard - it execute the certain code withing typical "try {} catch" clause,...
ExceptionGuard & operator=(const ExceptionGuard &)=delete
void handle(const GaudiException &e, MsgStream &s)
local handler of GaudiException
ExceptionGuard(const ExceptionGuard &)=delete
StatusCode m_sc
status code : result of function evaluation
const StatusCode & code() const
the result of function evaluation
ExceptionGuard(OBJECT obj, FUNCTION fun, MsgStream &log, IExceptionSvc *svc=0)
The IAuditor is the interface implemented by the Auditor base class.
Define general base for Gaudi exception.
The abstract interface for exception handling service.
Definition of the MsgStream class used to transmit messages.
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
constexpr static const auto FAILURE
Guards.h GaudiKernel/Guards.h Collection of very simple classes which allows to execution of some fun...
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...