26 #ifndef CASCATCH_ERRORHANDLER_HXX
27 #define CASCATCH_ERRORHANDLER_HXX
50 Standard_EXPORT Standard_Boolean
Catches (
const Handle(Standard_Type)&);
53 Standard_EXPORT
static void Abort();
68 #define CASCatch_TRY try
71 #define CASCatch_CATCH catch
74 #ifdef NO_CXX_EXCEPTION
76 # undef CASCatch_CATCH
78 # if defined(DO_ABORT)
80 # define DoesNotAbort_CASCatch(aHandler) !(K_SETJMP_CASCatch = setjmp(aHandler.Label))
82 # define CASCatch_TRY CASCatch_ErrorHandler _Function; \
83 K_SETJMP_CASCatch = 1 ; \
84 if(DoesNotAbort_CASCatch(_Function))
87 # define DoesNotAbort_CASCatch(aHandler) !setjmp(aHandler.Label)
89 # define CASCatch_TRY CASCatch_ErrorHandler _Function; \
90 if(DoesNotAbort_CASCatch(_Function))
94 # define CASCatch_CATCH(Error) else if(_Function.Catches(STANDARD_TYPE(Error)))
This class is an exception handler, private.
Definition: CASCatch_ErrorHandler.hxx:43
jmp_buf Label
Definition: CASCatch_ErrorHandler.hxx:63
Handle(CASCatch_Failure) CaughtError
static Standard_EXPORT void Error(const Handle(CASCatch_Failure)&)
Standard_EXPORT ~CASCatch_ErrorHandler()
static Standard_EXPORT Handle(CASCatch_Failure) LastCaughtError()
Standard_EXPORT Standard_Boolean Catches(const Handle(Standard_Type)&)
Standard_EXPORT CASCatch_ErrorHandler()
CASCatch_ErrorHandler * Previous
Definition: CASCatch_ErrorHandler.hxx:59
static Standard_EXPORT void Abort()
This class presents an exception to be thrown.
Definition: CASCatch_Failure.hxx:39