Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file.
20 static const std::string s_unknown =
"<unknown>";
24 return iNamed ? iNamed->name() : s_unknown;
42 log <<
MSG::DEBUG <<
" Number of Incidents to process = " << incPack.size() <<
" Context= " <<
ctx <<
endmsg;
44 while ( !incPack.empty() ) {
45 for (
const auto& [inc, listeners] : incPack ) {
46 for (
const auto&
l : listeners ) {
48 log <<
MSG::DEBUG <<
"Calling '" << getListenerName(
l.iListener ) <<
"' for incident [" << inc->type() <<
"]"
54 l.iListener->handle( *inc );
56 error() <<
"Exception with tag=" << exc.
tag()
61 if (
l.rethrow ) {
throw exc; }
62 }
catch (
const std::exception& exc ) {
63 error() <<
"Standard std::exception is caught"
66 error() << exc.what() <<
endmsg;
67 if (
l.rethrow ) {
throw exc; }
69 error() <<
"UNKNOWN Exception is caught handling incident" << inc->type() <<
endmsg;
70 if (
l.rethrow ) {
throw; }
SmartIF< IService > service(std::string_view name, const bool createIf=true, const bool quiet=false) const
Return a pointer to the service identified by name (or "type/name")
const std::string & name() const override
The identifying name of the algorithm object.
StatusCode initialize() override
StatusCode initialize() override
the default (empty) implementation of IStateful::initialize() method
Alias for backward compatibility.
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
SmartIF< IIncidentSvc > m_incSvc
StatusCode execute(const EventContext &ctx) const override
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
virtual const std::string & tag() const
name tag for the exception, or exception type
constexpr static const auto SUCCESS
IncidentProcAlg(const std::string &name, ISvcLocator *pSvcLocator)
#define DECLARE_COMPONENT(type)