This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: " throw logic error" abort, but print no error message out
2008/11/15 Bernd Roesch:
>
>>If exceptions are enabled
>> __throw_logic_error will throw std::logic_error, otherwise it will
>> call abort().
>
> On the amigaos compiler is sjlj enabled, i see in asm debugger after
> single
> stepping long it call std::logic_error.but this func do nothing print.
>
> so i simplyfy the testprogram and see std::logic_error("test\n"); does not
> output anything.
The type std::logic_error isn't supposed to print anything, it just
holds a string.
In current versions of GCC the default terminate handler (called when
an exception is not caught) will print out the message, see
__verbose_terminate_handler() in libsupc++/vterminate.cc
Any printing is done by code that handles the exception, not by the
exception itself.