Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions
Standard_ErrorHandlerCallback Class Reference

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>

Inheritance diagram for Standard_ErrorHandlerCallback:
Inheritance graph
[legend]

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


Constructor & Destructor Documentation


Member Function Documentation


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