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:
William S Fulton 2009-08-16 22:05:47 +00:00
commit fc68afcf73
3 changed files with 15 additions and 12 deletions

View file

@ -6,40 +6,39 @@ a = A();
try
a.foo()
catch
if (!strcmp(raised(),"E1"))
error, "bad exception order"
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E1\n"))
error("bad exception order")
endif
end_try_catch
try
a.bar()
catch
if (!strcmp(raised(),"E2"))
error, "bad exception order"
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E2\n"))
error("bad exception order")
endif
end_try_catch
try
a.foobar()
catch
[t,e]=raised();
if (!strcmp(e.args(0),"postcatch unknown"))
error
if (!strcmp(lasterror.message, "error: postcatch unknown (SWIG_RuntimeError)\n"))
error("bad exception order")
endif
end_try_catch
try
a.barfoo(1)
catch
if (!strcmp(raised(),"E1"))
error, "bad exception order"
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E1\n"))
error("bad exception order")
endif
end_try_catch
try
a.barfoo(2)
catch
if (!strcmp(raised(),"E2"))
error, "bad exception order"
if (!strcmp(lasterror.message, "error: C++ side threw an exception of type E2 *\n"))
error("bad exception order")
endif
end_try_catch