2017-05-31 15:17 GMT+02:00 Niall Douglas via Boost
On 31/05/2017 12:02, Andrzej Krzemienski via Boost wrote:
2017-05-31 12:47 GMT+02:00 Niall Douglas via Boost < boost@lists.boost.org>:
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;