From: Dominique Devienne (ddevienne_at_[hidden])
Date: 2024-03-27 07:26:50


On Wed, Mar 27, 2024 at 12:51 AM Klemens Morgenstern via Boost <
boost_at_[hidden]> wrote:

> On Wed, Mar 27, 2024 at 2:32 AM Artyom Beilis via Boost
> > 2. Transaction handling seems to be very simplistics.
>
> The main reason here is that the sqlite api doesn't have any
> transaction handling either, it's just more sql queries.
> With boost.scope handwriting a guard is trivial - and you don't have
> the issue that you might potentially throw from a destructor.
>

I agree with Artyom it's a must have. We have it. We use it extensively.
FWIW. --DD

PS: And yes, throwing from a Dtor is always problematic. That's a
pain-point in C++.
  There are ways to detect throwing while unwinding. And there's also
Boost.Exception
  which allows nesting exceptions. I'm no expert. Despite the pitfalls, we
heavily depend on it...