Scilab: SWIG exception raise macro : rethrow exceptions
This commit is contained in:
parent
e9437fe400
commit
eddbb8f59e
2 changed files with 12 additions and 3 deletions
|
|
@ -69,7 +69,7 @@ SWIG_Scilab_ErrorMsg(int code, const char *mesg)
|
|||
|
||||
|
||||
#define SWIG_fail return SWIG_ERROR;
|
||||
#define SWIG_ErrorType(code) SWIG_Scilab_ErrorType(code)
|
||||
#define SWIG_ErrorType(code) SWIG_Scilab_ErrorType(code)
|
||||
#define SWIG_Error(code, msg) SWIG_Scilab_ErrorMsg(code,msg)
|
||||
|
||||
/* Used for C++ enums */
|
||||
|
|
@ -218,7 +218,16 @@ SWIG_Scilab_SetOutput(void *_pvApiCtx, SciObject _output) {
|
|||
return SWIG_OK;
|
||||
}
|
||||
|
||||
#define SwigScilabRaise(OBJ, TYPE, DESC) Scierror(999, "C++ side threw an exception of type %s.\n", TYPE)
|
||||
#define SWIG_Scilab_Raise(obj, type, desc) SwigScilabRaise(type)
|
||||
|
||||
SWIGRUNTIME int
|
||||
SwigScilabRaise(const char *type) {
|
||||
Scierror(999, "An exception of type %s has been thrown.\n", type);
|
||||
#ifdef __cplusplus
|
||||
throw;
|
||||
#endif
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
//%insert(init) "swiginit.swg"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#define %append_output(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
|
||||
#define %set_constant(name, obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR // Name is managed by the the function name
|
||||
#define %raise(obj, type, desc) SwigScilabRaise(obj, type, desc)
|
||||
#define %raise(obj, type, desc) SWIG_Scilab_Raise(obj, type, desc)
|
||||
#define %set_output(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
|
||||
#define %set_varoutput(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
|
||||
#define %set_argoutput(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue