ESScript  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 esysUtils::EsysAssertException finley::FinleyAdapterException paso::PasoException ripley::RipleyException

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.
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.
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

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

Return the name of the exception. This is expected to be overloaded in derived classes with the derived class name.

Returns
the name of the exception.

Reimplemented in esysUtils::EsysAssertException, paso::PasoException, dudley::DudleyAdapterException, finley::FinleyAdapterException, 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.

Returns
re-assigned exception.

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::esysExceptionTranslator().

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

Referenced by reason(), setReason(), and updateMessage().


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