On Sat, Jul 02, 2022 at 04:14:51PM +0200, Joost Kraaijeveld wrote: > Hi, > > The exception is not handled by the program. In that case "[[noreturn]] > void std::terminate()" is called by the C++-runtime. std::terminate > calls the currently installed std::terminate_handler. The default > std::terminate_handler calls std::abort. After calling std::abort an > implementation defined status is returned to the host environment that > indicates unsuccessful execution. > > So basically both programs do the right thing.
I'm not sure if we're talking at cross purposes here. My expectation was exactly what you describe: after hitting the error, I was expecting to see a non-zero return code from the compiled executable, that being the expected "implementation defined status ... that indicates unsuccessful execution". The problem I am trying to report / get help with is that, in my simple test case, the exit status is 0, which on Cygwin I would interpret to mean *successful* execution. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple