Core Library
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
Core::Exception Class Reference

The base class for all exception types. More...

#include <Exception.hpp>

Inheritance diagram for Core::Exception:
Core::BadLogicException Core::CmdLineException Core::ConfigurationException Core::FileSystemException Core::InvalidArgException Core::NotImplException Core::NullPtrException Core::ParseException Core::RuntimeException

List of all members.

Public Member Functions

virtual ~Exception () throw ()
 Destructor.
virtual const tchartwhat () const throw ()
 Get the exception details.

Protected Member Functions

 Exception ()
 Default constructor.
 Exception (const tstring &strDetails)
 Construction from a string containg the details.
 Exception (const Exception &rhs)
 Copy constructor.

Protected Attributes

tstring m_strDetails
 The error message.

Private Member Functions

virtual const char * what () const throw ()
 Get the ANSI only exception details.

Detailed Description

The base class for all exception types.

This class allows the error message to be ANSI or Unicode, unlike std::exception which is ANSI only. The ctor is protected as you should be throwing a specific derived exception type.


Constructor & Destructor Documentation

Core::Exception::~Exception ( ) throw () [virtual]

Destructor.

Core::Exception::Exception ( ) [protected]

Default constructor.

Core::Exception::Exception ( const tstring strDetails) [protected]

Construction from a string containg the details.

Core::Exception::Exception ( const Exception rhs) [protected]

Copy constructor.


Member Function Documentation

const tchar * Core::Exception::twhat ( ) const throw () [virtual]

Get the exception details.

const char * Core::Exception::what ( ) const throw () [private, virtual]

Get the ANSI only exception details.

This method is marked private to avoid it being called by accident instead of the build agnostic method What(). However it could still be invoked through the base class, so we still need to generate an ANSI version on demand.


Member Data Documentation

The error message.


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