Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions
Standard_ErrorHandlerCallback Class Referenceabstract

Defines a base class for callback objects that can be registered
in the OCC error handler (the class simulating C++ exceptions)
so as to be correctly destroyed when error handler is activated.

Note that this is needed only when Open CASCADE is compiled with
NO_CXX_EXCEPTION or OCC_CONVERT_SIGNALS options (i.e. on UNIX/Linux).
In that case, raising OCC exception and/or signal will not cause
C++ stack unwinding and destruction of objects created in the stack.

This class is intended to protect critical objects and operations in
the try {} catch {} block from being bypassed by OCC signal or exception.

Inherit your object from that class, implement DestroyCallback() function,
and call Register/Unregister in critical points.

Note that you must ensure that your object has life span longer than
that of the try {} block in which it calls Register().
More...

#include <Standard_ErrorHandlerCallback.hxx>

Inheritance diagram for Standard_ErrorHandlerCallback:
Inheritance graph
[legend]

Public Member Functions

void RegisterCallback ()
 Registers this callback object in the current error handler
(if found).
More...
 
void UnregisterCallback ()
 Unregisters this callback object from the error handler.
More...
 
virtual ~Standard_ErrorHandlerCallback ()
 
virtual void DestroyCallback ()=0
 The callback function to perform necessary callback action.
Called by the exception handler when it is being destroyed but
still has this callback registered.
More...
 

Protected Member Functions

 Standard_ErrorHandlerCallback ()
 Empty constructor
More...
 

Detailed Description

Defines a base class for callback objects that can be registered
in the OCC error handler (the class simulating C++ exceptions)
so as to be correctly destroyed when error handler is activated.

Note that this is needed only when Open CASCADE is compiled with
NO_CXX_EXCEPTION or OCC_CONVERT_SIGNALS options (i.e. on UNIX/Linux).
In that case, raising OCC exception and/or signal will not cause
C++ stack unwinding and destruction of objects created in the stack.

This class is intended to protect critical objects and operations in
the try {} catch {} block from being bypassed by OCC signal or exception.

Inherit your object from that class, implement DestroyCallback() function,
and call Register/Unregister in critical points.

Note that you must ensure that your object has life span longer than
that of the try {} block in which it calls Register().

Constructor & Destructor Documentation

virtual Standard_ErrorHandlerCallback::~Standard_ErrorHandlerCallback ( )
virtual
Standard_ErrorHandlerCallback::Standard_ErrorHandlerCallback ( )
protected

Empty constructor

Member Function Documentation

virtual void Standard_ErrorHandlerCallback::DestroyCallback ( )
pure virtual

The callback function to perform necessary callback action.
Called by the exception handler when it is being destroyed but
still has this callback registered.

void Standard_ErrorHandlerCallback::RegisterCallback ( )

Registers this callback object in the current error handler
(if found).

void Standard_ErrorHandlerCallback::UnregisterCallback ( )

Unregisters this callback object from the error handler.


The documentation for this class was generated from the following file: