Boost logo

Boost :

Subject: Re: [boost] [outcome] High level summary of review feedback accepted so far
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2017-05-29 07:04:23


On 29/05/2017 18:12, Vicente J. Botet Escriba wrote:
>>> What your checked_outcome<T>::error will return if the is a
>>> exception_ptr?
>> Ah, finally someone brought this up. Good!
>>
>> It returns an error_code with bad_outcome_category and
>> bad_outcome_errc::exception_present.
> Ugh. Why your design is never coherent. Why you don't name your
> functions after what they do?
> What if the exception_ptr contains an arbitrary exception? No way to
> obtain an error_code :(
> I believe your design is too much guided by your AFIO use case. Not all
> the applications use system errors.

I think you may have misinterpreted that. Niall's saying (if I haven't
misinterpreted myself) that calling error() on an outcome that contains
any arbitrary exception will give that one specific error code (which
basically tells you that your code is probably wrong to have asked, but
it's not a precondition violation).

That sounds like it's what you're wanting, and it's probably the
behaviour I'd expect.

(There might be some argument that if the contained exception happens to
be a std::system_error then it might be nice if the contained error_code
could be extracted and returned, but that's not what Niall said and it
sounds like that's what you're objecting to.)


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