diff libinterp/corefcn/data.cc @ 20756:200ae1d650b7

propagate octave_execution_exception objects through try/catch blocks * gripes.h, gripes.cc (gripe_user_supplied_eval, gripe_wrong_type_arg): New overloaded functions that accept octave_execution_exception objects. * error.h, error.cc (error, verror, error_1, usage_1, debug_or_throw_exception): New overloaded functions that accept * octave_execution_exception objects. * __qp__.cc, cellfun.cc, daspk.cc, dasrt.cc, dassl.cc, data.cc, file-io.cc, graphics.cc, graphics.in.h, input.cc, load-path.cc, ls-mat-ascii.cc, lsode.cc, mex.cc, oct-handle.h, oct-map.cc, oct-stream.cc, quad.cc, rand.cc, toplev.cc, utils.cc, variables.cc, __eigs__.cc, ov-base.cc, ov-class.cc, ov-fcn-handle.cc, ov-oncleanup.cc, ov.cc, octave.cc, oct-parse.in.yy: Propagate octave_execution_exception objects through try/catch blocks.
author John W. Eaton <jwe@octave.org>
date Wed, 25 Nov 2015 15:27:48 -0500
parents a5ab31b52ae8
children b6f2909e7f94
line wrap: on
line diff
--- a/libinterp/corefcn/data.cc	Wed Nov 25 11:32:28 2015 -0800
+++ b/libinterp/corefcn/data.cc	Wed Nov 25 15:27:48 2015 -0500
@@ -1810,9 +1810,9 @@
         {
           result = fcn.do_multi_index_op (1, octave_value_list (1, ov));
         }
-      catch (const octave_execution_exception&)
+      catch (const octave_execution_exception& e)
         {
-          error ("conversion from %s to %s failed", dtype.c_str (),
+          error (e, "conversion from %s to %s failed", dtype.c_str (),
                  cname.c_str ());
         }
 
@@ -1837,9 +1837,9 @@
             {
               result = fcn.do_multi_index_op (1, octave_value_list (1, ov));
             }
-          catch (const octave_execution_exception&)
+          catch (const octave_execution_exception& e)
             {
-              error ("%s constructor failed for %s argument", dtype.c_str (),
+              error (e, "%s constructor failed for %s argument", dtype.c_str (),
                      cname.c_str ());
             }
 
@@ -1877,9 +1877,9 @@
         {
           tmp2 = fcn.do_multi_index_op (1, ovl);
         }
-      catch (const octave_execution_exception&)
+      catch (const octave_execution_exception& e)
         {
-          error ("%s/%s method failed", dtype.c_str (), cattype.c_str ());
+          error (e, "%s/%s method failed", dtype.c_str (), cattype.c_str ());
         }
 
       if (tmp2.length () > 0)