Octave: Caught exceptions display the type of the C++ exception instead of the generic 'c++-side threw an exception' message
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11595 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
8da18d336e
commit
fc68afcf73
3 changed files with 15 additions and 12 deletions
|
|
@ -1,6 +1,10 @@
|
||||||
Version 1.3.40 (in progress)
|
Version 1.3.40 (in progress)
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
2009-08-16: wsfulton
|
||||||
|
[Octave] Caught exceptions display the type of the C++ exception instead of the
|
||||||
|
generic "c++-side threw an exception" message.
|
||||||
|
|
||||||
2009-08-16: wsfulton
|
2009-08-16: wsfulton
|
||||||
[Java] When %catches is used, fix so that any classes specified in the "throws"
|
[Java] When %catches is used, fix so that any classes specified in the "throws"
|
||||||
attribute of the "throws" typemap are generated into the Java method's throws clause.
|
attribute of the "throws" typemap are generated into the Java method's throws clause.
|
||||||
|
|
|
||||||
|
|
@ -6,40 +6,39 @@ a = A();
|
||||||
try
|
try
|
||||||
a.foo()
|
a.foo()
|
||||||
catch
|
catch
|
||||||
if (!strcmp(raised(),"E1"))
|
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E1\n"))
|
||||||
error, "bad exception order"
|
error("bad exception order")
|
||||||
endif
|
endif
|
||||||
end_try_catch
|
end_try_catch
|
||||||
|
|
||||||
try
|
try
|
||||||
a.bar()
|
a.bar()
|
||||||
catch
|
catch
|
||||||
if (!strcmp(raised(),"E2"))
|
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E2\n"))
|
||||||
error, "bad exception order"
|
error("bad exception order")
|
||||||
endif
|
endif
|
||||||
end_try_catch
|
end_try_catch
|
||||||
|
|
||||||
try
|
try
|
||||||
a.foobar()
|
a.foobar()
|
||||||
catch
|
catch
|
||||||
[t,e]=raised();
|
if (!strcmp(lasterror.message, "error: postcatch unknown (SWIG_RuntimeError)\n"))
|
||||||
if (!strcmp(e.args(0),"postcatch unknown"))
|
error("bad exception order")
|
||||||
error
|
|
||||||
endif
|
endif
|
||||||
end_try_catch
|
end_try_catch
|
||||||
|
|
||||||
try
|
try
|
||||||
a.barfoo(1)
|
a.barfoo(1)
|
||||||
catch
|
catch
|
||||||
if (!strcmp(raised(),"E1"))
|
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E1\n"))
|
||||||
error, "bad exception order"
|
error("bad exception order")
|
||||||
endif
|
endif
|
||||||
end_try_catch
|
end_try_catch
|
||||||
|
|
||||||
try
|
try
|
||||||
a.barfoo(2)
|
a.barfoo(2)
|
||||||
catch
|
catch
|
||||||
if (!strcmp(raised(),"E2"))
|
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E2 *\n"))
|
||||||
error, "bad exception order"
|
error("bad exception order")
|
||||||
endif
|
endif
|
||||||
end_try_catch
|
end_try_catch
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
#define SWIG_SetConstant(name, obj) SWIG_Octave_SetConstant(module_ns,name,obj)
|
#define SWIG_SetConstant(name, obj) SWIG_Octave_SetConstant(module_ns,name,obj)
|
||||||
|
|
||||||
// raise
|
// raise
|
||||||
#define SWIG_Octave_Raise(obj, type, desc) error("c++-side threw an exception")
|
#define SWIG_Octave_Raise(OBJ, TYPE, DESC) error("C++ side threw an exception of type " TYPE)
|
||||||
#define SWIG_Raise(obj, type, desc) SWIG_Octave_Raise(obj, type, desc)
|
#define SWIG_Raise(obj, type, desc) SWIG_Octave_Raise(obj, type, desc)
|
||||||
|
|
||||||
// Include the unified typemap library
|
// Include the unified typemap library
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue