Open CASCADE Technology  6.9.0
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. 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: