Hi Bremner, all--
On Mon 2020-06-29 22:14:07 -0300, David Bremner wrote:
> I know that some of you are not C++ fans, but at the moment this is
> the cleanest fix I can think of to uncaught xapian exceptions causing
> calls to the library to die. Floris reminded me of this recently with
> the discussion about operations on closed databases, but cleaning up
> the handling of exceptions in libnotmuch has been on my mind for a
> while. It will be bit laborious so I did a few functions for
> discussion purposes before getting too carried away.
I've read through the series and it looks reasonable to me.
I've also tested them, and they behave as expected.
If someone has a more nuanced approach to dealing with some of the
subtle exceptions that might be raised, i'd be happy to see those
approaches laid on top of this series.
> There is still a certain amount of boilerplate with more or less
> identical try/catch blocks (yes, I really miss scheme macros here). I
> could mostly eliminate that with C++11 lambdas, but I wasn't sure the
> result was more maintainable or nicer.
I think this looks fine, and it isn't a huge amount of boilerplate.
Please merge.
--dkg