Boost logo

Boost :

Subject: Re: [boost] [Stacktrace] review
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2016-12-15 18:33:24


On Thu, Dec 15, 2016 at 1:24 PM, Robert Ramey <ramey_at_[hidden]> wrote:

> It added a ton of included code to all my header files. I think the
> number was 5000 lines. I'm sure it did something - otherwise I wouldn't
> have noticed it.
>

False, it's 522 lines:
https://github.com/boostorg/throw_exception/blob/develop/include/boost/exception/exception.hpp
.

> There was no "coupling" to other libraries but to a single header with zero
>> dependencies, which is now included in the boost::throw_exception
>> submodule.
>>
>
> that's what coupling is.
>

Yes, boost/throw_exception.hpp is coupled with
boost/exception/exception.hpp (would you be happier if I copy the contents
of exception.hpp and paste it in throw_exception.hpp?)

No, the throw_exception module is not coupled with the exception module,
because boost/exception/exception.hpp resides in the throw_exception module
and not in the Boost Exception module:

throw_exception: https://github.com/boostorg/throw_exception.

Boost Exception: https://github.com/boostorg/exception

> Specifically, if you want to use boost::throw_exception, the
>
>> Boost Exception submodule is NOT necessary.
>>
>
> well, I was using boost::throw_exception and I was got a whole bunch of
> new stuff I didn't ask for.

Let's be specific: you got a base class for your exception types, for free,
which admittedly you didn't ask for.

> It seems that it's in there to support other users who do use boost
> exception. Which raises the question of why that is my problem. After not
> getting any traction I did post a patch which would permit support boost
> exception without having to make any changes in boost::throw_exception.

I'm extremely interested in this, I do want to implement Boost Exception
non-intrusively if possible. Can I see code?

> OK - I looked at boost/exception/exception.hpp and it only adds 500 lines
> of header code to every file which invokes boost::throw_exception. A big
> improvement over the original.
>

The original was ~400 lines.

> But my point is really that adding something like this in jamming into my
> library makes me responsible for something that I have to invest
> significant time to understand.

Your choice. Back then you overreacted, made changes to Serialization to
not call throw_exception, which broke BOOST_NO_EXCEPTIONS builds for users
of Serialization (for which you blamed me). And then, yes, to fix that mess
you had to invest time to understand how throw_exception works.

> As a practical matter, it's not really an issue any more.
>

If you don't want to talk about this issue any more, stop making false
claims.

Emil


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk