29 Aug
2015
29 Aug
'15
12:15 a.m.
On 8/28/2015 4:31 AM, Andrey Semashev wrote:
Calling std::terminate is also something I would call unexpected and harmful. You don't know what the application is doing - one thread may be doing something with Boost.AFIO and another may be doing domething important and unrelated. Throw exceptions on errors, where possible. Document UB when not.
If it's documented as UB and implemented as calling std::terminate and prints to std::cerr that seems to satisfy your requirements without making any changes to the code. I assume you want the code to not do this however.