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

Reply via email to