Re: introduce exception handling at top level of libnotmuch

Subject: Re: introduce exception handling at top level of libnotmuch

Date: Thu, 02 Jul 2020 15:16:51 -0400

To: David Bremner,


From: Daniel Kahn Gillmor

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.

signature.asc (application/pgp-signature)
notmuch mailing list --
To unsubscribe send an email to