From: William S F. <ws...@fu...> - 2010-10-21 19:20:34
|
Tod Hagan wrote: > Hi, > > I'm wrapping some C++ to interface to Perl. The error messages produced > by the default wrappers look like: > > ValueError invalid null reference in method 'new_Foo', argument 2 > of type 'Bar &' > > The error is apparently generated by this code in the _perlwrap.cxx file: > > if (!argp2) { > SWIG_exception_fail(SWIG_ValueError, "invalid null reference " > "in method '" "new_Foo" "', argument " "2"" of type '" "Bar &""'"); > } > > To be more useful, the line number of the offending script should be > printed. It's not, apparently because the perl error routine (croak?) > isn't called. > > Is there a way to get the argument validation logic in the default > wrappers for Perl to call one of perl's error routines so that useful > context such as line number can be printed? > I am not familiar really with Perl, but have a look to see if you can implement this by modifying SWIG_exception_fail. William |