The Gaudi Framework  v29r0 (ff2e7097)
ErrorTool.h
Go to the documentation of this file.
1 #ifndef GAUDIALG_ERRORTOOL_H
2 #define GAUDIALG_ERRORTOOL_H 1
3 // ============================================================================
4 // Include files
5 // ============================================================================
6 // Gaudi
7 // ============================================================================
8 #include "GaudiAlg/GaudiTool.h"
9 #include "GaudiAlg/IErrorTool.h"
10 // ============================================================================
11 
12 // ============================================================================
19 // ============================================================================
20 
21 class ErrorTool : public GaudiTool, virtual public IErrorTool
22 {
23 
24 public:
32  ErrorTool( const std::string& type, const std::string& name, const IInterface* parent );
33 
35  ~ErrorTool() override = default;
36 
37 public:
60  const size_t mx = 10 ) const override
61  {
62  return GaudiTool::Error( msg, st, mx );
63  }
64 
76  const size_t mx = 10 ) const override
77  {
78  return GaudiTool::Warning( msg, st, mx );
79  }
80 
91  const MSG::Level lev = MSG::INFO ) const override
92  {
93  return GaudiTool::Print( msg, st, lev );
94  }
95 
105  void Assert( const bool ok, const std::string& message = "",
106  const StatusCode sc = StatusCode::FAILURE ) const override
107  {
108  GaudiTool::Assert( ok, message, sc );
109  }
110 
119  void Exception( const std::string& msg, const GaudiException& exc,
120  const StatusCode sc = StatusCode::FAILURE ) const override
121  {
122  GaudiTool::Exception( msg, exc, sc );
123  }
124 
133  void Exception( const std::string& msg, const std::exception& exc,
134  const StatusCode sc = StatusCode::FAILURE ) const override
135  {
136  GaudiTool::Exception( msg, exc, sc );
137  }
138 
146  void Exception( const std::string& msg = "no message", const StatusCode sc = StatusCode::FAILURE ) const override
147  {
148  GaudiTool::Exception( msg, sc );
149  }
150 };
151 
152 #endif // GAUDIALG_ERRORTOOL_H
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
StatusCode Warning(const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
Print the warning message and return with the given StatusCode.
Definition: GaudiTool.h:699
Header file for class GaudiAlgorithm.
Define general base for Gaudi exception.
void Exception(const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode::FAILURE) const override
Create and (re)-throw the exception.
Definition: ErrorTool.h:119
virtual const std::string & type() const =0
The type of an AlgTool, meaning the concrete AlgTool class.
void Assert(const bool ok, const std::string &message="", const StatusCode sc=StatusCode::FAILURE) const override
Assertion - throw exception, if condition is not fulfilled.
Definition: ErrorTool.h:105
STL class.
StatusCode Print(const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const override
Print the message and return status code.
Definition: ErrorTool.h:90
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
Definition of the basic interface.
Definition: IInterface.h:277
StatusCode Print(const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const
Print the message and return with the given StatusCode.
StatusCode Warning(const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const override
Print the warning message, return status code and perform the statistics of warning messages...
Definition: ErrorTool.h:75
STL class.
ErrorTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition: ErrorTool.cpp:32
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:63
StatusCode Error(const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
Print the error message and return with the given StatusCode.
Definition: GaudiTool.h:671
StatusCode Error(const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const override
Print the error message, return status code and perform the statistics of error messages.
Definition: ErrorTool.h:59
void Assert(const bool ok, const std::string &message="", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
Assertion - throw exception if the given condition is not fulfilled.
The useful base class for tools.
Definition: GaudiTool.h:101
void Exception(const std::string &msg="no message", const StatusCode sc=StatusCode::FAILURE) const override
Create and throw the exception.
Definition: ErrorTool.h:146
void Exception(const std::string &msg, const std::exception &exc, const StatusCode sc=StatusCode::FAILURE) const override
Create and (re)-throw the exception.
Definition: ErrorTool.h:133
~ErrorTool() override=default
virtual and protected destructor
virtual const IInterface * parent() const =0
The parent of the concrete AlgTool.
void Exception(const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
Create and (re)-throw a given GaudiException.