Recently there was much debate about adding try/catch-like mechanisms to Rust (but without actual exceptions). Whereas that was starting with return values and considering if there was value in taking a step towards exception-style behaviour, yesterday I stumbled upon the following C++ working group paper which recommends that C++ take a step towards return value-like behavior and ALSO proposes a hybrid approach to error handling. It’s written by Herb Sutter, who approaches Stroustrup’s stature in the C++ community, and he does a good job of explaining the problems with exceptions that have led to them not being adopted in C++ code written by Google, F-35 fight software, Windows kernel, etc.
It’s an extremely interesting read and if you squint a bit not so different from recent Rust discussions. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf