Raytrix Light Field SDK  v3.0
Logo
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events Groups Pages
Rx::CRxException Class Reference

Detailed Description

Raytrix exception base class. All exceptions are based on this class {491260D2-0D75-4CCD-A2C5-46428B450B66}.

Use macro RX_DEFINE_EXCEPTION to define a new exception that is inherited by CRxException.

Use macro RX_THROW to throw the first exception. This exception hasn't an inner exception.

Use macro RX_RETHROW to throw a new exception that includes all previous exceptions.

Inherits Rx::Interop::Runtime30::CIException.

Inherited by Rx::ApiLF::CRxApiException, Rx::CRxErrnoException, Rx::CRxFileNotFoundException, Rx::CRxOperatingSystemException, and Rx::CRxOutOfMemoryException.

Public Member Functions

 CRxException (CRxException &xEx)
 Copy constructor. More...
 
virtual ~CRxException ()
 Destructor. Frees all inner exceptions. More...
 
void CopyToHeap (CIException **ppTarget)
 Copy this exception to given target Destination. More...
 
virtual const char * GetFile () const
 Gets the file name. More...
 
virtual const char * GetFunction () const
 Gets the function name. More...
 
virtual const
Interop::Runtime30::CGuid
GetGUID () const
 Gets the unique identifier of this exception. More...
 
CIExceptionGetInnerException () const
 Gets the inner exception. More...
 
virtual unsigned GetLine () const
 Gets the line. More...
 
virtual const char * GetMessageText () const
 Gets the information string. More...
 
virtual const char * GetName () const
 Gets the name of this exception. More...
 
virtual bool HasException (const Rx::Interop::Runtime30::CGuid &xGUID) const
 Query if this exception or one of its inner exceptions has the given GUID. More...
 
void SetGUID (const Interop::Runtime30::CGuid &xGUID)
 Sets the unique identifier of this exception. More...
 
virtual const char * ToString () const
 Convert this CRxException into a string representation. More...
 

Static Public Member Functions

static CRxException Create (const CRxString &sInfo, const char *pcFile, const char *pcFunction, unsigned uLine, Interop::Runtime30::CIException &xInnerException)
 Constructor. More...
 
static CRxException Create (const CRxString &sInfo, const char *pcFile, const char *pcFunction, unsigned uLine)
 Creates this CRxException. More...
 
static Interop::Runtime30::CGuid GetTypeGUID ()
 Gets the unique identifier of this type. More...
 
static const char * GetTypeName ()
 Gets the type name. More...
 

Protected Member Functions

 CRxException (const CRxString &sInfo, const char *pcFile, const char *pcFunction, unsigned uLine, Interop::Runtime30::CIException *pxInnerException=0)
 Constructor. More...
 
virtual
Interop::Runtime30::CIException
Copy ()
 Copies this CRxException. More...
 
void SetInnerException (CIException &xEx)
 Sets an inner exception. Frees currently assigned inner exception. More...
 
CIExceptionYieldInnerException ()
 Returns the inner exception and yields responsibility. More...
 

Protected Attributes

CRxString m_sExceptionText
 The exception text. We need to hold this variable so that ToString() can return a valid const char*. More...
 
CRxString m_sFile
 The name of the file in which this exception has been thrown. More...
 
CRxString m_sFunction
 The function in which this exception has been thrown. More...
 
CRxString m_sInfo
 The information describing the reason of this exception. More...
 
CRxString m_sName
 The name of this exception. More...
 
unsigned m_uLine
 The line in which this exception has been thrown. More...
 
Interop::Runtime30::CGuid m_xGUID
 Unique identifier for this exception. More...
 

Constructor & Destructor Documentation

Rx::CRxException::CRxException ( CRxException xEx)

Copy constructor.

Parameters
xEx[in] The exception to copy.
Rx::CRxException::CRxException ( const CRxString sInfo,
const char *  pcFile,
const char *  pcFunction,
unsigned  uLine,
Interop::Runtime30::CIException pxInnerException = 0 
)
protected

Constructor.

Parameters
sInfoThe information.
pcFileThe file.
pcFunctionThe function.
uLineThe line.
pxInnerException[in] (Optional) The inner exception.
virtual Rx::CRxException::~CRxException ( )
virtual

Destructor. Frees all inner exceptions.

Member Function Documentation

virtual Interop::Runtime30::CIException* Rx::CRxException::Copy ( )
protectedvirtual

Copies this CRxException.

Returns
The copied exception.

Implements Rx::Interop::Runtime30::CIException.

Reimplemented in Rx::ApiLF::CRxApiException.

void Rx::Interop::Runtime30::CIException::CopyToHeap ( CIException **  ppTarget)
inherited

Copy this exception to given target Destination.

Parameters
ppTarget[in,out] If non-null, target for the.
static CRxException Rx::CRxException::Create ( const CRxString sInfo,
const char *  pcFile,
const char *  pcFunction,
unsigned  uLine,
Interop::Runtime30::CIException xInnerException 
)
static

Constructor.

Parameters
sInfoThe information.
pcFileThe file.
pcFunctionThe function.
uLineThe line.
xInnerException[in] The inner exception.
Returns
The exception.
static CRxException Rx::CRxException::Create ( const CRxString sInfo,
const char *  pcFile,
const char *  pcFunction,
unsigned  uLine 
)
static

Creates this CRxException.

Parameters
sInfoThe information.
pcFileThe file.
pcFunctionThe function.
uLineThe line.
Returns
The exception.
virtual const char* Rx::CRxException::GetFile ( ) const
virtual

Gets the file name.

Returns
The file name.

Implements Rx::Interop::Runtime30::CIException.

virtual const char* Rx::CRxException::GetFunction ( ) const
virtual

Gets the function name.

Returns
The function name.

Implements Rx::Interop::Runtime30::CIException.

virtual const Interop::Runtime30::CGuid& Rx::CRxException::GetGUID ( ) const
virtual

Gets the unique identifier of this exception.

Returns
The unique identifier.

Implements Rx::Interop::Runtime30::CIException.

CIException* Rx::Interop::Runtime30::CIException::GetInnerException ( ) const
inherited

Gets the inner exception.

Returns
Null if there is no inner exception, else the inner exception.
virtual unsigned Rx::CRxException::GetLine ( ) const
virtual

Gets the line.

Returns
The line number.

Implements Rx::Interop::Runtime30::CIException.

virtual const char* Rx::CRxException::GetMessageText ( ) const
virtual

Gets the information string.

Returns
The information string.

Implements Rx::Interop::Runtime30::CIException.

virtual const char* Rx::CRxException::GetName ( ) const
virtual

Gets the name of this exception.

Returns
The name of this exception.

Implements Rx::Interop::Runtime30::CIException.

static Interop::Runtime30::CGuid Rx::CRxException::GetTypeGUID ( )
static

Gets the unique identifier of this type.

Returns
The unique identifier of this type.
static const char* Rx::CRxException::GetTypeName ( )
static

Gets the type name.

Returns
The type name.
virtual bool Rx::CRxException::HasException ( const Rx::Interop::Runtime30::CGuid xGUID) const
virtual

Query if this exception or one of its inner exceptions has the given GUID.

Parameters
xGUID[in] The GUID of the exception to look for.
Returns
True if this exception or one of its inner exceptions has the given GUID, false if not.

Implements Rx::Interop::Runtime30::CIException.

void Rx::CRxException::SetGUID ( const Interop::Runtime30::CGuid xGUID)

Sets the unique identifier of this exception.

Parameters
xGUIDThe unique identifier.
void Rx::Interop::Runtime30::CIException::SetInnerException ( CIException xEx)
protectedinherited

Sets an inner exception. Frees currently assigned inner exception.

Parameters
xEx[in] The inner exception.
virtual const char* Rx::CRxException::ToString ( ) const
virtual

Convert this CRxException into a string representation.

Returns
This CRxException as a string.

Implements Rx::Interop::Runtime30::CIException.

CIException* Rx::Interop::Runtime30::CIException::YieldInnerException ( )
protectedinherited

Returns the inner exception and yields responsibility.

Returns
The inner exception.

Member Data Documentation

CRxString Rx::CRxException::m_sExceptionText
protected

The exception text. We need to hold this variable so that ToString() can return a valid const char*.

CRxString Rx::CRxException::m_sFile
protected

The name of the file in which this exception has been thrown.

CRxString Rx::CRxException::m_sFunction
protected

The function in which this exception has been thrown.

CRxString Rx::CRxException::m_sInfo
protected

The information describing the reason of this exception.

CRxString Rx::CRxException::m_sName
protected

The name of this exception.

unsigned Rx::CRxException::m_uLine
protected

The line in which this exception has been thrown.

Interop::Runtime30::CGuid Rx::CRxException::m_xGUID
protected

Unique identifier for this exception.