Reference

corelinux_Exception(3)

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

NAME

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

SYNOPSIS

#include <Exception.hpp>

Inherited by corelinux::AbstractFactoryException, corelinux::Assertion, corelinux::CommandFrameException, corelinux::CompositeException, corelinux::IteratorException, corelinux::NullPointerException, corelinux::SemaphoreException, corelinux::StorageException, and corelinux::ThreadException.

Public Types

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

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 Severity & getSeverity (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.

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

Author

Generated automatically by Doxygen for CoreLinux++ from the source code.

History