From: <wsf...@us...> - 2009-08-16 22:05:57
|
Revision: 11595 http://swig.svn.sourceforge.net/swig/?rev=11595&view=rev Author: wsfulton Date: 2009-08-16 22:05:47 +0000 (Sun, 16 Aug 2009) Log Message: ----------- Octave: Caught exceptions display the type of the C++ exception instead of the generic 'c++-side threw an exception' message Modified Paths: -------------- trunk/CHANGES.current trunk/Examples/test-suite/octave/exception_order_runme.m trunk/Lib/octave/octtypemaps.swg Modified: trunk/CHANGES.current =================================================================== --- trunk/CHANGES.current 2009-08-16 21:47:24 UTC (rev 11594) +++ trunk/CHANGES.current 2009-08-16 22:05:47 UTC (rev 11595) @@ -2,6 +2,10 @@ ============================ 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 [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. Modified: trunk/Examples/test-suite/octave/exception_order_runme.m =================================================================== --- trunk/Examples/test-suite/octave/exception_order_runme.m 2009-08-16 21:47:24 UTC (rev 11594) +++ trunk/Examples/test-suite/octave/exception_order_runme.m 2009-08-16 22:05:47 UTC (rev 11595) @@ -6,40 +6,39 @@ 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 Modified: trunk/Lib/octave/octtypemaps.swg =================================================================== --- trunk/Lib/octave/octtypemaps.swg 2009-08-16 21:47:24 UTC (rev 11594) +++ trunk/Lib/octave/octtypemaps.swg 2009-08-16 22:05:47 UTC (rev 11595) @@ -32,7 +32,7 @@ #define SWIG_SetConstant(name, obj) SWIG_Octave_SetConstant(module_ns,name,obj) // 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) // Include the unified typemap library This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |