uncaught C++ exception from Perl Search::Xapian XS?

Eric Wong e at 80x24.org
Mon Mar 27 12:46:04 BST 2023


I'm using Search::Xapian XS from Debian stable and I'm getting what
appears to be an unwrapped C++ exception:

  terminate called after throwing an instance of 'Xapian::DatabaseModifiedError'

Using `eval' from Perl5 doesn't seem effective in catching it.

I'm using postlist_begin, postlist_end and ++ to iterate a
PositionIterator, and reading XS/*Iterator.xs, I see the XS
wrappers are missing:

  try { } catch { handle_exception(); }

in several places.  Not sure if that's it or if something
else (I know C, but am not remotely fluent in C++).

Thanks



More information about the Xapian-discuss mailing list