|
Open CASCADE Technology
6.5.4
|
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().
#include <Standard_ErrorHandlerCallback.hxx>

Public Member Functions | |
| DEFINE_STANDARD_ALLOC void | RegisterCallback () |
| Registers this callback object in the current error handler (if found). | |
| void | UnregisterCallback () |
| Unregisters this callback object from the error handler. | |
| 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. | |
Protected Member Functions | |
| Standard_ErrorHandlerCallback () | |
| Empty constructor | |
| virtual Standard_ErrorHandlerCallback::~Standard_ErrorHandlerCallback | ( | ) | [virtual] |
| Standard_ErrorHandlerCallback::Standard_ErrorHandlerCallback | ( | ) | [protected] |
| virtual void Standard_ErrorHandlerCallback::DestroyCallback | ( | ) | [pure virtual] |
1.8.0