escript
Revision_
|
A base class for exception classes used within Esys system. More...
#include <EsysException.h>
Public Member Functions | |
EsysException () | |
Default Constructor. Creates an exception with no message. | |
EsysException (const std::string &exceptionReason) | |
Constructor which creates a EsysException with the given message. | |
EsysException (const char *cStr) | |
Constructor which creates a EsysException with the given message. | |
EsysException (const EsysException &other) | |
Copy constructor. | |
virtual | ~EsysException () throw ( ) |
Destructor. | |
EsysException & | operator= (const EsysException &other) throw ( ) |
Assignment needed to override any automatic assignment of std::exception, which can potentially copy around char *'s, causeing trouble in some implementations of STL. It will only copy the reason string, and update the message. | |
const std::string & | toString () const |
Return the exception message in the form <Exception Name>: <Exception Message>. | |
virtual const std::string & | exceptionName () const |
Return the name of the exception. This is expected to be overloaded in derived classes with the derived class name. | |
const std::string & | reason () const |
Return a reference to the string that contains the exception reason. | |
void | setReason (const std::string &new_reason) |
set the string for the reason for the exception. This allows ousiders to modify m_reason, but the practice is discouraged. If string insertions are required, use string methods. | |
virtual const char * | what () const throw ( ) |
Return a description of the exception in the same format as the toString method. | |
void | updateMessage () |
update m_exceptionMessage after a reason update. | |
Protected Types | |
typedef std::exception | Parent |
Private Attributes | |
std::string | m_reason |
std::string | m_exceptionMessage |
Static Private Attributes | |
static const std::string | exceptionNameValue |
A base class for exception classes used within Esys system.
typedef std::exception esysUtils::EsysException::Parent [protected] |
Reimplemented in paso::PasoException, escript::DataException, escript::DomainException, escript::FunctionSpaceException, escript::SystemMatrixException, esysUtils::EsysAssertException, dudley::DudleyAdapterException, finley::FinleyAdapterException, escript::TransportProblemException, escript::SolverOptionsException, and ripley::RipleyException.
Default Constructor. Creates an exception with no message.
References updateMessage().
EsysException::EsysException | ( | const std::string & | exceptionReason | ) |
Constructor which creates a EsysException with the given message.
exceptionReason | Input - Exception message. |
References updateMessage().
EsysException::EsysException | ( | const char * | cStr | ) |
Constructor which creates a EsysException with the given message.
cStr | - Exception message. |
References updateMessage().
EsysException::EsysException | ( | const EsysException & | other | ) |
EsysException::~EsysException | ( | ) | throw ( ) [virtual] |
Destructor.
const std::string & EsysException::exceptionName | ( | ) | const [virtual] |
Return the name of the exception. This is expected to be overloaded in derived classes with the derived class name.
Reimplemented in esysUtils::EsysAssertException, paso::PasoException, dudley::DudleyAdapterException, finley::FinleyAdapterException, escript::DataException, escript::FunctionSpaceException, escript::TransportProblemException, escript::SystemMatrixException, escript::DomainException, escript::SolverOptionsException, and ripley::RipleyException.
References exceptionNameValue.
Referenced by updateMessage().
EsysException & EsysException::operator= | ( | const EsysException & | other | ) | throw ( ) |
Assignment needed to override any automatic assignment of std::exception, which can potentially copy around char *'s, causeing trouble in some implementations of STL. It will only copy the reason string, and update the message.
Referenced by esysUtils::EsysAssertException::operator=().
const std::string & esysUtils::EsysException::reason | ( | ) | const [inline] |
Return a reference to the string that contains the exception reason.
References m_reason.
void esysUtils::EsysException::setReason | ( | const std::string & | new_reason | ) | [inline] |
set the string for the reason for the exception. This allows ousiders to modify m_reason, but the practice is discouraged. If string insertions are required, use string methods.
References m_reason, and updateMessage().
const std::string & esysUtils::EsysException::toString | ( | ) | const [inline] |
Return the exception message in the form <Exception Name>: <Exception Message>.
References m_exceptionMessage.
Referenced by esysUtils::operator<<().
void esysUtils::EsysException::updateMessage | ( | ) | [inline] |
update m_exceptionMessage after a reason update.
References exceptionName(), m_exceptionMessage, and m_reason.
Referenced by escript::DataException::DataException(), escript::DomainException::DomainException(), dudley::DudleyAdapterException::DudleyAdapterException(), esysUtils::EsysAssertException::EsysAssertException(), EsysException(), finley::FinleyAdapterException::FinleyAdapterException(), escript::FunctionSpaceException::FunctionSpaceException(), escript::DomainException::operator=(), escript::DataException::operator=(), escript::SystemMatrixException::operator=(), escript::FunctionSpaceException::operator=(), escript::TransportProblemException::operator=(), esysUtils::EsysAssertException::operator=(), dudley::DudleyAdapterException::operator=(), finley::FinleyAdapterException::operator=(), paso::PasoException::operator=(), paso::PasoException::PasoException(), setReason(), escript::SystemMatrixException::SystemMatrixException(), and escript::TransportProblemException::TransportProblemException().
const char * esysUtils::EsysException::what | ( | ) | const throw ( ) [inline, virtual] |
Return a description of the exception in the same format as the toString method.
References m_exceptionMessage.
Referenced by esysUtils::RuntimeErrorTranslator(), and esysUtils::ValueErrorTranslator().
const std::string EsysException::exceptionNameValue [static, private] |
Reimplemented in esysUtils::EsysAssertException, paso::PasoException, dudley::DudleyAdapterException, finley::FinleyAdapterException, escript::DataException, escript::FunctionSpaceException, escript::TransportProblemException, escript::SystemMatrixException, escript::DomainException, escript::SolverOptionsException, and ripley::RipleyException.
Referenced by exceptionName().
std::string esysUtils::EsysException::m_exceptionMessage [private] |
Referenced by toString(), updateMessage(), and what().
std::string esysUtils::EsysException::m_reason [private] |
Referenced by reason(), setReason(), and updateMessage().