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

corelinux::AbstractFactoryException corelinux::Assertion corelinux::CommandFrameException corelinux::CompositeException corelinux::IteratorException corelinux::NullPointerException corelinux::SemaphoreException corelinux::StorageException corelinux::ThreadException 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    aOutOfMemoryFlag = 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 std::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 std::string & corelinux::Exception::getUnwind void    const
 

Accessor.

Returns:
Const reference to the unwind stack description.

const std::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