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.