Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

corelinux::Exception Class Reference

Exception is the base exception class used in the CoreLinux++ libraries. More...

#include <Exception.hpp>

Inheritance diagram for corelinux::Exception

Inheritance graph
[legend]
List of all members.

Public Types

enum  Severity {
  CONTINUABLE = 1,
  THREADFATAL,
  PROCESSFATAL,
  THREADTERMINATE,
  PROCESSTERMINATE
}
 Exception Severity States. More...


Public Methods

 Exception ( CharCptr why, CharCptr file, LineNum line, Severity severity = Exception::CONTINUABLE, bool outOfMemory = false )
 Default Constructor. More...

 Exception ( ExceptionCref crOther )
 Copy constructor. More...

virtual ~Exception (void)
 Virtual Destructor.

ExceptionRef operator= ( ExceptionCref otherRef )
 Assignment operator overload. More...

bool operator== ( ExceptionCref otherRef )
 Comparisson operator overload. More...

const std::string& getFile ( void ) const
 Accessor. More...

LineNumCref getLine ( void ) const
 Accessor. More...

const std::string& getWhy ( void ) const
 Accessor. More...

const SeveritygetSeverity ( void ) const
 Accessor. More...

const std::string& getUnwind ( void ) const
 Accessor. More...

bool isOutOfMemory ( void ) const
 Accessor. More...

void addUnwindInfo ( CharCptr unwindInfo )
 Append unwind information to the Exception. More...

void setThreadFatalSeverity ( void )
 Change the severity to Severity::THREADFATAL.

void setProcessFatalSeverity ( void )
 Change the severity to Severity::PROCESSFATAL.

void setThreadTerminateSeverity ( void )
 Change the severity to Severity::THREADTERMINATE. More...

void setProcessTerminateSeverity ( void )
 Change the severity to Severity::PROCESSTERMINATE. More...


Protected Methods

 Exception ( void )
 Exceptions must have a reason. More...

 Exception ( CharCptr file, LineNum line, Severity severity = Exception::CONTINUABLE, bool outOfMemory = false )
 Exception constructor for use by derivations.

void setWhy ( const std::string & )
 Changes the exception reason.

void setWhy ( CharCptr )
 Changes the exception reason.


Detailed Description

Exception is the base exception class used in the CoreLinux++ libraries.

It is provided to support a rich base from which domain Exceptions may derive.


Member Enumeration Documentation

enum corelinux::Exception::Severity
 

Exception Severity States.

Enumeration values:
THREADFATAL   System can continue processing.
PROCESSFATAL   Exception may prove to be thread fatal.
THREADTERMINATE   Exception may prove to be process fatal.
PROCESSTERMINATE   System should exit.


Constructor & Destructor Documentation

corelinux::Exception::Exception ( CharCptr aWhy,
CharCptr aFile,
LineNum aLine,
Severity severity = Exception::CONTINUABLE,
bool outOfMemory = false )
 

Default Constructor.

Parameters:
why   describes why the exception was thrown
file   The source module throwing the exception
line   The line of source throwing the exception
severity   The Exception::Severity of the Exception
outOfMemory   An out of memory indicator

corelinux::Exception::Exception ( ExceptionCref crOther )
 

Copy constructor.

Parameters:
Exception   const reference

corelinux::Exception::Exception ( void ) [protected]
 

Exceptions must have a reason.

Default constructor is not allowed.


Member Function Documentation

void corelinux::Exception::addUnwindInfo ( CharCptr aUnwindInfo )
 

Append unwind information to the Exception.

Clients should use this service to identify themselves and specify any changes to severity.

const string & corelinux::Exception::getFile ( void ) const
 

Accessor.

Returns:
Const reference to module name where Exception was thrown

LineNumCref corelinux::Exception::getLine ( void ) const
 

Accessor.

Returns:
Const reference to line number in module where Exception was thrown

const Exception::Severity & corelinux::Exception::getSeverity ( void ) const
 

Accessor.

Returns:
Const reference to Severity of Exception.

const string & corelinux::Exception::getUnwind ( void ) const
 

Accessor.

Returns:
Const reference to the unwind stack description.

const string & corelinux::Exception::getWhy ( void ) const
 

Accessor.

Returns:
Const reference to Exception explanation.

bool corelinux::Exception::isOutOfMemory ( void ) const [inline]
 

Accessor.

Returns:
true if out of memory exception, false otherwise

ExceptionRef corelinux::Exception::operator= ( ExceptionCref crOther )
 

Assignment operator overload.

Parameters:
Exception   const reference
Returns:
Exception reference to self

bool corelinux::Exception::operator== ( ExceptionCref aException )
 

Comparisson operator overload.

Parameters:
Exception   const reference
Returns:
true if equal, false otherwise

void corelinux::Exception::setProcessTerminateSeverity ( void )
 

Change the severity to Severity::PROCESSTERMINATE.

This is useful to the catcher that the process should exit

void corelinux::Exception::setThreadTerminateSeverity ( void )
 

Change the severity to Severity::THREADTERMINATE.

This is useful to the catcher that the thread should be cleaned up.


The documentation for this class was generated from the following files:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium