Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

Sct::Throwable Class Reference
[Exceptions]

The base class for all of the exceptions which we throw in the SCT code. More...

#include <Exception.h>

Inheritance diagram for Sct::Throwable:

exception Sct::AbstractThrowable Sct::Error Sct::Exception Sct::LogicError Sct::MathsError Sct::ConfigurationException Sct::IoException Sct::IpcObjectException Sct::StdExceptionWrapper Sct::IllegalStateError Sct::InvalidArgumentError Sct::InvariantViolatedError Sct::OutOfRangeError< T > Sct::UnsupportedOperationError Sct::FileException Sct::IpcException Sct::IsException Sct::NoSuchStreamerException Sct::StreamCorruptedException Sct::VersionNotSupportedException

Public Member Functions

virtual long sendToMrs (SEVERITY s)=0 throw ()
 Send the message to the message reporting service.

virtual long sendToMrs () const=0 throw ()
 Send the message to the message reporting service.

virtual void setSeverity (SEVERITY s)=0 throw ()
 Set the severity of this exception.

virtual SEVERITY getSeverity () const=0 throw ()
 Get the severity.

virtual const Throwable * getCause () const=0 throw ()
 Get the cause.

virtual ~Throwable () throw ()
 Force virtual destructors.

virtual shared_ptr< Throwable > clone () const=0 throw ()
 Necessary for chaining of exceptions unfortunately.


Detailed Description

The base class for all of the exceptions which we throw in the SCT code.

Adds a method that reports the exception to MRS. Also adds support for a cause. This enables exceptions to be chained and wrapped.

Author:
Alan Barr and refactored by Matthew Palmer

Definition at line 25 of file Exception.h.


Constructor & Destructor Documentation

virtual Sct::Throwable::~Throwable   throw () [inline, virtual]
 

Force virtual destructors.

Definition at line 58 of file Exception.h.


Member Function Documentation

virtual shared_ptr<Throwable> Sct::Throwable::clone   const throw () [pure virtual]
 

Necessary for chaining of exceptions unfortunately.

Should return a copy of this allocated on the heap. It is necessary for sub-classes to override this if they add new data members or if they do and special processing in what() or sentToMrs()

Implemented in Sct::AbstractThrowable, Sct::IsException, Sct::FileException, Sct::NoSuchStreamerException, Sct::IpcException, and Sct::OutOfRangeError< T >.

virtual const Throwable* Sct::Throwable::getCause   const throw () [pure virtual]
 

Get the cause.

Returns:
a pointer to the cause of 0 if no cause

Implemented in Sct::AbstractThrowable.

virtual SEVERITY Sct::Throwable::getSeverity   const throw () [pure virtual]
 

Get the severity.

Implemented in Sct::AbstractThrowable.

virtual long Sct::Throwable::sendToMrs   const throw () [pure virtual]
 

Send the message to the message reporting service.

Returns:
the MRS status information. (See mrs/message.h)

Implemented in Sct::AbstractThrowable.

virtual long Sct::Throwable::sendToMrs SEVERITY    s throw () [pure virtual]
 

Send the message to the message reporting service.

Parameters:
s the SEVERITY of the exception (see mrs/message.h)
Returns:
the MRS status information. (See mrs/message.h)

Implemented in Sct::AbstractThrowable.

Referenced by SctCalibrationController::SequenceRequestWorker::operator()(), and Sct::Terminate().

virtual void Sct::Throwable::setSeverity SEVERITY    s throw () [pure virtual]
 

Set the severity of this exception.

Parameters:
s the SEVERITY of the exception (see mrs/message.h)

Implemented in Sct::AbstractThrowable.


The documentation for this class was generated from the following file:
Generated on Mon Dec 15 19:37:22 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3