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 Member Functions

 Exception (CharCptr why, CharCptr file, LineNum line, Severity severity=Exception::CONTINUABLE, bool outOfMemory=false)
 Default Constructor.
 Exception (ExceptionCref crOther)
 Copy constructor.
virtual ~Exception (void)
 Virtual Destructor.
ExceptionRef operator= (ExceptionCref otherRef)
 Assignment operator overload.
bool operator== (ExceptionCref otherRef)
 Comparisson operator overload.
const std::string & getFile (void) const
 Accessor.
LineNumCref getLine (void) const
 Accessor.
const std::string & getWhy (void) const
 Accessor.
const SeveritygetSeverity (void) const
 Accessor.
const std::string & getUnwind (void) const
 Accessor.
bool isOutOfMemory (void) const
 Accessor.
void addUnwindInfo (CharCptr unwindInfo)
 Append unwind information to the Exception.
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.
void setProcessTerminateSeverity (void)
 Change the severity to Severity::PROCESSTERMINATE.

Protected Member Functions

 Exception (void)
 Exceptions must have a reason.
 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.

Enumerator:
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  why,
CharCptr  file,
LineNum  line,
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  unwindInfo  ) 
 

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  otherRef  ) 
 

Assignment operator overload.

Parameters:
Exception const reference
Returns:
Exception reference to self

bool corelinux::Exception::operator== ExceptionCref  otherRef  ) 
 

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