Boost logo

Boost :

Subject: Re: [boost] [outcome] High level summary of review feedback accepted so far
From: Andrzej Krzemienski (akrzemi1_at_[hidden])
Date: 2017-05-31 13:25:09


2017-05-31 15:17 GMT+02:00 Niall Douglas via Boost <boost_at_[hidden]>:

> On 31/05/2017 12:02, Andrzej Krzemienski via Boost wrote:
> > 2017-05-31 12:47 GMT+02:00 Niall Douglas via Boost <
> boost_at_[hidden]>:
> >>> But is there some mental model behind this decision?
> >>
> >> Of course.
> >>
> >> exception <= error < value. So errors are exceptions, but exceptions are
> >> not errors.
> >>
> >
> > I still don't get it. Maybe what you are saying that "error" refers to
> both
> > error_codes and exception_ptr-s, whereas "exception" refers to
> > exception_ptr-s exclusively?
>
> Other way round. Exception refer to exception|error. Error refers to
> just error.
>

Ouch.

>
> If you need a motivating example, imagine a user accumulates result<T>'s
> from other code it calls into outcome<T>'s, and then does .exception()
> on the outcome<T>'s.
>

Yes, I can understand why one wants to treat error_code and exception_ptr
uniformly. But recognizing an error_code in `exception()` and not
recognizing an exception_ptr in `error()` looks quite arbitrary to me: not
guided ba an intuitive mental model.

Regards,
&rzej;


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