escript  Revision_
Public Member Functions | Protected Types | Private Attributes | Static Private Attributes | List of all members
esysUtils::EsysException Class Reference

A base class for exception classes used within Esys system. More...

#include <EsysException.h>

Inheritance diagram for esysUtils::EsysException:
dudley::DudleyAdapterException escript::DataException escript::DomainException escript::FunctionSpaceException escript::SolverOptionsException escript::SplitWorldException escript::SystemMatrixException escript::TransportProblemException esysUtils::EsysAssertException finley::FinleyAdapterException paso::PasoException ripley::RipleyException speckley::SpeckleyException

Public Member Functions

 EsysException ()
 Default Constructor. Creates an exception with no message. More...
 
 EsysException (const std::string &exceptionReason)
 Constructor which creates a EsysException with the given message. More...
 
 EsysException (const char *cStr)
 Constructor which creates a EsysException with the given message. More...
 
 EsysException (const EsysException &other)
 Copy constructor. More...
 
virtual ~EsysException () throw ( )
 Destructor. More...
 
EsysExceptionoperator= (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. More...
 
const std::string & toString () const
 Return the exception message in the form <Exception Name>: <Exception Message>. More...
 
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. More...
 
const std::string & reason () const
 Return a reference to the string that contains the exception reason. More...
 
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. More...
 
virtual const char * what () const throw ( )
 Return a description of the exception in the same format as the toString method. More...
 
void updateMessage ()
 update m_exceptionMessage after a reason update. More...
 

Protected Types

typedef std::exception Parent
 

Private Attributes

std::string m_reason
 
std::string m_exceptionMessage
 

Static Private Attributes

static const std::string exceptionNameValue
 

Detailed Description

A base class for exception classes used within Esys system.

Member Typedef Documentation

typedef std::exception esysUtils::EsysException::Parent
protected

Constructor & Destructor Documentation

EsysException::EsysException ( )

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.

Parameters
exceptionReasonInput - Exception message.

References updateMessage().

EsysException::EsysException ( const char *  cStr)

Constructor which creates a EsysException with the given message.

Parameters
cStr- Exception message.

References updateMessage().

EsysException::EsysException ( const EsysException other)

Copy constructor.

Parameters
otherInput - EsysException

References updateMessage().

EsysException::~EsysException ( )
throw (
)
virtual

Destructor.

Member Function Documentation

const std::string & EsysException::exceptionName ( ) const
virtual
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.

Returns
re-assigned exception.

References m_reason, and updateMessage().

Referenced by esysUtils::EsysAssertException::operator=().

const std::string & esysUtils::EsysException::reason ( ) const
inline

Return a reference to the string that contains the exception reason.

Returns
the string for 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>.

Returns
the exception message.

References m_exceptionMessage.

Referenced by esysUtils::operator<<().

void esysUtils::EsysException::updateMessage ( )
inline
const char * esysUtils::EsysException::what ( ) const
throw (
)
inlinevirtual

Return a description of the exception in the same format as the toString method.

Returns
a description of the exception.

References m_exceptionMessage.

Referenced by esysUtils::RuntimeErrorTranslator(), and esysUtils::ValueErrorTranslator().

Member Data Documentation

const std::string EsysException::exceptionNameValue
staticprivate

Referenced by exceptionName().

std::string esysUtils::EsysException::m_exceptionMessage
private

Referenced by toString(), updateMessage(), and what().

std::string esysUtils::EsysException::m_reason
private

The documentation for this class was generated from the following files: