Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef CASCATCH_HXX
00027 #define CASCATCH_HXX
00028
00029 #include <Standard_Failure.hxx>
00030 #include <Standard_ErrorHandler.hxx>
00031
00032
00033 #ifdef try
00034 # undef try
00035 #endif
00036
00037 #ifdef catch
00038 # undef catch
00039 #endif
00040
00041 #ifdef NO_CXX_EXCEPTION
00042 # if defined(DO_ABORT)
00043 # define CASCatch_TRY \
00044 Standard_ErrorHandler _Function; \
00045 K_SETJMP = 1 ; \
00046 if(DoesNotAbort(_Function))
00047 # else // ! DO_ABORT
00048 # define CASCatch_TRY \
00049 Standard_ErrorHandler _Function; \
00050 if(DoesNotAbort(_Function))
00051 # endif // DO_ABORT
00052 # define CASCatch_CATCH(Error) \
00053 else if(_Function.Catches(STANDARD_TYPE(Error)))
00054 #else // ! NO_CXX_EXCEPTION
00055 # define CASCatch_TRY try
00056 # define CASCatch_CATCH catch
00057 #endif // NO_CXX_EXCEPTION
00058
00059
00060 #endif // CASCATCH_HXX