Open CASCADE Technology 7.8.2.dev
Standard_ErrorHandler::Callback 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_ErrorHandler.hxx>

Inheritance diagram for Standard_ErrorHandler::Callback:

Public Member Functions

void RegisterCallback ()
 Registers this callback object in the current error handler (if found).
 
void UnregisterCallback ()
 Unregisters this callback object from the error handler.
 
virtual ~Callback ()
 Destructor.
 
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

 Callback ()
 Empty constructor.
 

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 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

◆ ~Callback()

Standard_ErrorHandler::Callback::~Callback ( )
inlinevirtual

Destructor.

◆ Callback()

Standard_ErrorHandler::Callback::Callback ( )
inlineprotected

Empty constructor.

Member Function Documentation

◆ DestroyCallback()

virtual void Standard_ErrorHandler::Callback::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.

◆ RegisterCallback()

void Standard_ErrorHandler::Callback::RegisterCallback ( )
inline

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

◆ UnregisterCallback()

void Standard_ErrorHandler::Callback::UnregisterCallback ( )
inline

Unregisters this callback object from the error handler.


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