Open CASCADE Technology 7.8.2.dev
Standard_ErrorHandler Class Reference

Class implementing mechanics of conversion of signals to exceptions. More...

#include <Standard_ErrorHandler.hxx>

Data Structures

class  Callback
 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...
 

Public Member Functions

 Standard_ErrorHandler ()
 Create a ErrorHandler (to be used with try{}catch(){}). It uses the "setjmp" and "longjmp" routines.
 
void Destroy ()
 Unlinks and checks if there is a raised exception.
 
 ~Standard_ErrorHandler ()
 Destructor.
 
void Unlink ()
 Removes handler from the handlers list.
 
Standard_Boolean Catches (const Handle< Standard_Type > &aType)
 Returns "True" if the caught exception has the same type or inherits from "aType".
 
Standard_JmpBufLabel ()
 Returns label for jump.
 
Handle< Standard_FailureError () const
 Returns the current Error.
 

Static Public Member Functions

static Handle< Standard_FailureLastCaughtError ()
 Returns the caught exception.
 
static Standard_Boolean IsInTryBlock ()
 Test if the code is currently running in a try block.
 

Detailed Description

Class implementing mechanics of conversion of signals to exceptions.

Each instance of it stores data for jump placement, thread id, and callbacks to be called during jump (for proper resource release).

The active handlers are stored in the global stack, which is used to find appropriate handler when signal is raised.

Constructor & Destructor Documentation

◆ Standard_ErrorHandler()

Standard_ErrorHandler::Standard_ErrorHandler ( )

Create a ErrorHandler (to be used with try{}catch(){}). It uses the "setjmp" and "longjmp" routines.

◆ ~Standard_ErrorHandler()

Standard_ErrorHandler::~Standard_ErrorHandler ( )
inline

Destructor.

Member Function Documentation

◆ Catches()

Standard_Boolean Standard_ErrorHandler::Catches ( const Handle< Standard_Type > & aType)

Returns "True" if the caught exception has the same type or inherits from "aType".

◆ Destroy()

void Standard_ErrorHandler::Destroy ( )

Unlinks and checks if there is a raised exception.

◆ Error()

Handle< Standard_Failure > Standard_ErrorHandler::Error ( ) const

Returns the current Error.

◆ IsInTryBlock()

static Standard_Boolean Standard_ErrorHandler::IsInTryBlock ( )
static

Test if the code is currently running in a try block.

◆ Label()

Standard_JmpBuf & Standard_ErrorHandler::Label ( )
inline

Returns label for jump.

◆ LastCaughtError()

static Handle< Standard_Failure > Standard_ErrorHandler::LastCaughtError ( )
static

Returns the caught exception.

◆ Unlink()

void Standard_ErrorHandler::Unlink ( )

Removes handler from the handlers list.


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