|
Gaudi Framework, version v22r0 |
| Home | Generated: 9 Feb 2011 |
Define general base for Gaudi exception. More...
#include <GaudiKernel/GaudiException.h>


Public Member Functions | |
| GaudiException (const std::string &Message, const std::string &Tag, const StatusCode &Code) | |
| Constructor (1). | |
| GaudiException (const std::string &Message, const std::string &Tag, const StatusCode &Code, const GaudiException &Exception) | |
| Constructor (2). | |
| GaudiException (const std::string &Message, const std::string &Tag, const StatusCode &Code, const std::exception &Exception) | |
| Constructor (3). | |
| GaudiException (const GaudiException &Exception) | |
| Copy constructor (deep copying!). | |
| virtual | ~GaudiException () throw () |
| destructor (perform the deletion of "previous" field!) | |
| GaudiException & | operator= (const GaudiException &Exception) |
| assignment operator | |
| virtual const std::string & | message () const |
| error message to be printed | |
| virtual const std::string & | setMessage (const std::string &newMessage) |
| update the error message to be printed | |
| virtual const std::string & | tag () const |
| name tag for the exception, or exception type | |
| virtual const std::string & | setTag (const std::string &newTag) |
| update name tag | |
| virtual const StatusCode & | code () const |
| StatusCode for Exception. | |
| virtual const StatusCode & | setCode (const StatusCode &newStatus) |
| update the status code for the exception | |
| virtual GaudiException * | previous () const |
| get the previous exception ( "previous" element in the linked list) | |
| virtual std::ostream & | printOut (std::ostream &os=std::cerr) const |
| methods for overloaded printout to std::ostream& and MsgStream& | |
| virtual MsgStream & | printOut (MsgStream &os) const |
| Output the exception to the Gaudi MsgStream. | |
| virtual GaudiException * | clone () const |
| clone operation | |
| virtual const char * | what () const throw () |
| method from std::exception | |
Protected Attributes | |
| std::string | m_message |
| std::string | m_tag |
| error message | |
| StatusCode | m_code |
| exception tag | |
| GaudiException * | m_previous |
| status code for exception | |
Static Protected Attributes | |
| static bool | s_proc |
| "previous" element in the linked list | |
Friends | |
| class | StatusCode |
| std::ostream & | operator<< (std::ostream &os, const GaudiException &ge) |
| overloaded printout to std::ostream | |
| std::ostream & | operator<< (std::ostream &os, const GaudiException *pge) |
| MsgStream & | operator<< (MsgStream &os, const GaudiException &ge) |
| overloaded printout to MsgStream | |
| MsgStream & | operator<< (MsgStream &os, const GaudiException *pge) |
| overloaded printout to MsgStream | |
Define general base for Gaudi exception.
Definition at line 24 of file GaudiException.h.
| GaudiException::GaudiException | ( | const std::string & | Message, | |
| const std::string & | Tag, | |||
| const StatusCode & | Code | |||
| ) | [inline] |
Constructor (1).
| Message | error message | |
| Tag | "name tag", or exeption type | |
| Code | status code |
Definition at line 42 of file GaudiException.h.
| GaudiException::GaudiException | ( | const std::string & | Message, | |
| const std::string & | Tag, | |||
| const StatusCode & | Code, | |||
| const GaudiException & | Exception | |||
| ) | [inline] |
Constructor (2).
| Message | error message | |
| Tag | "name tag", or exeption type | |
| Code | status code | |
| Exception | "previous" exception |
Definition at line 57 of file GaudiException.h.
| GaudiException::GaudiException | ( | const std::string & | Message, | |
| const std::string & | Tag, | |||
| const StatusCode & | Code, | |||
| const std::exception & | Exception | |||
| ) | [inline] |
Constructor (3).
| Message | error message | |
| Tag | "name tag", or exeption type | |
| Code | status code | |
| Exception | "previous" exception (used to improve the error message) |
Definition at line 73 of file GaudiException.h.
00077 : m_message ( Message ) 00078 , m_tag ( Tag ) 00079 , m_code ( Code ) 00080 , m_previous ( 0 ) 00081 { 00082 s_proc = true; 00083 m_message += ": " + System::typeinfoName(typeid(Exception)) + ", " + 00084 Exception.what(); 00085 }
| GaudiException::GaudiException | ( | const GaudiException & | Exception | ) | [inline] |
Copy constructor (deep copying!).
Definition at line 88 of file GaudiException.h.
| virtual GaudiException::~GaudiException | ( | ) | throw () [inline, virtual] |
destructor (perform the deletion of "previous" field!)
Definition at line 99 of file GaudiException.h.
00099 { 00100 m_code.setChecked(); 00101 if( 0 != m_previous ) { delete m_previous ; m_previous = 0 ; } 00102 s_proc = false; 00103 }
| virtual GaudiException* GaudiException::clone | ( | ) | const [inline, virtual] |
clone operation
Reimplemented in UpdateManagerException.
Definition at line 167 of file GaudiException.h.
00167 { return new GaudiException(*this); };
| virtual const StatusCode& GaudiException::code | ( | ) | const [inline, virtual] |
| virtual const std::string& GaudiException::message | ( | ) | const [inline, virtual] |
error message to be printed
Definition at line 118 of file GaudiException.h.
00118 { return m_message; }
| GaudiException& GaudiException::operator= | ( | const GaudiException & | Exception | ) | [inline] |
assignment operator
Definition at line 106 of file GaudiException.h.
00106 { 00107 if ( &Exception == this ) { return *this; } 00108 m_message = Exception.message() ; 00109 m_tag = Exception.tag () ; 00110 m_code = Exception.code () ; 00111 if( 0 != m_previous ) { delete m_previous; m_previous = 0 ; } 00112 m_previous = ( 0 == Exception.previous() ) ? 00113 0 : Exception.previous()->clone() ; 00114 return *this; 00115 }
| virtual GaudiException* GaudiException::previous | ( | ) | const [inline, virtual] |
get the previous exception ( "previous" element in the linked list)
Definition at line 142 of file GaudiException.h.
00142 { return m_previous ; }
Output the exception to the Gaudi MsgStream.
Definition at line 156 of file GaudiException.h.
00156 { 00157 os << tag() << "\t" << message() ; 00158 switch( code() ) { 00159 case StatusCode::SUCCESS : os << "\t StatusCode=SUCCESS" ; break ; 00160 case StatusCode::FAILURE : os << "\t StatusCode=FAILURE" ; break ; 00161 default : os << "\t StatusCode=" << code().getCode() ; break ; 00162 } 00163 return ( 0 != previous() ) ? previous()->printOut( os << endmsg ) : os ; 00164 }
| virtual std::ostream& GaudiException::printOut | ( | std::ostream & | os = std::cerr |
) | const [inline, virtual] |
methods for overloaded printout to std::ostream& and MsgStream&
Definition at line 145 of file GaudiException.h.
00145 { 00146 os << tag() << " \t " << message() ; 00147 switch( code() ) { 00148 case StatusCode::SUCCESS : os << "\t StatusCode=SUCCESS" ; break ; 00149 case StatusCode::FAILURE : os << "\t StatusCode=FAILURE" ; break ; 00150 default : os << "\t StatusCode=" << code() ; break ; 00151 } 00152 return ( 0 != previous() ) ? previous()->printOut( os << std::endl ) : os ; 00153 };
| virtual const StatusCode& GaudiException::setCode | ( | const StatusCode & | newStatus | ) | [inline, virtual] |
update the status code for the exception
Definition at line 137 of file GaudiException.h.
| virtual const std::string& GaudiException::setMessage | ( | const std::string & | newMessage | ) | [inline, virtual] |
update the error message to be printed
Definition at line 121 of file GaudiException.h.
| virtual const std::string& GaudiException::setTag | ( | const std::string & | newTag | ) | [inline, virtual] |
update name tag
Definition at line 129 of file GaudiException.h.
| virtual const std::string& GaudiException::tag | ( | ) | const [inline, virtual] |
name tag for the exception, or exception type
Definition at line 126 of file GaudiException.h.
00126 { return m_tag; }
| virtual const char* GaudiException::what | ( | ) | const throw () [inline, virtual] |
method from std::exception
Reimplemented from std::exception.
Definition at line 170 of file GaudiException.h.
00170 { return message().c_str() ; }
| MsgStream& operator<< | ( | MsgStream & | os, | |
| const GaudiException * | pge | |||
| ) | [friend] |
overloaded printout to MsgStream
Definition at line 192 of file GaudiException.h.
| MsgStream& operator<< | ( | MsgStream & | os, | |
| const GaudiException & | ge | |||
| ) | [friend] |
overloaded printout to MsgStream
Definition at line 188 of file GaudiException.h.
00188 { 00189 return ge.printOut( os ); 00190 }
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const GaudiException * | pge | |||
| ) | [friend] |
Definition at line 183 of file GaudiException.h.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const GaudiException & | ge | |||
| ) | [friend] |
overloaded printout to std::ostream
Definition at line 180 of file GaudiException.h.
00180 { 00181 return ge.printOut( os ); 00182 }
friend class StatusCode [friend] |
Definition at line 34 of file GaudiException.h.
StatusCode GaudiException::m_code [mutable, protected] |
exception tag
Definition at line 174 of file GaudiException.h.
std::string GaudiException::m_message [mutable, protected] |
Definition at line 172 of file GaudiException.h.
GaudiException* GaudiException::m_previous [mutable, protected] |
status code for exception
Definition at line 175 of file GaudiException.h.
std::string GaudiException::m_tag [mutable, protected] |
error message
Definition at line 173 of file GaudiException.h.
bool GaudiException::s_proc [static, protected] |
"previous" element in the linked list
Definition at line 176 of file GaudiException.h.