Go to the documentation of this file.
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 ); }
152 void handle(
const std::exception& e,
MsgStream&
s );
239 m_svc->before( m_evt, m_objName, m_context );
246 m_svc->after( m_evt, m_objName, m_context, *m_sc );
248 m_svc->after( m_evt, m_objName, m_context );
ExceptionGuard & operator=(const ExceptionGuard &)=delete
The IAuditor is the interface implemented by the Auditor base class.
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
AuditorGuard & operator=(const AuditorGuard &right)=delete
std::string const m_evt
Event type.
std::string m_objName
the guarded object name (if there is no INamedInterface)
AuditorGuard(const AuditorGuard &right)=delete
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
const EventContext & m_context
Pointer to a EventContext instance, to be passed to the "before" and "after" function If given,...
constexpr static const auto SUCCESS
const StatusCode & code() const
the result of function evaluation
constexpr static const auto FAILURE
ExceptionGuard(OBJECT obj, FUNCTION fun, MsgStream &log, IExceptionSvc *svc=0)
ExceptionGuard(const ExceptionGuard &)=delete
const StatusCode code() const