Re: Problem with noexcept and incomplete backtrace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8 January 2013 21:39, Ángel González wrote:
> You are lying to the compiler there. OTOH, level1 shall not throw any
> exception (has noexcept), OTOH it *is* throwing an exception. So I gues
> you're at undefined behavior.

No, when an exception is thrown and the search for a handler finds a
noexecpt function std::terminate() is called.

You've missed the point of the code, the code is *supposed* to trigger
abnormal termination, the point is about the quality of the backtrace
available after std::terminate is called.

> What about surrounding the content of level with a try catch all ?

That would not help. That would lose all the context of where the
exception was thrown from, so you can't inspect the backtrace (or core
file) to see why an exception terminated your program.

Tobias, please report it to bugzilla. The standard places no
requirements on what happens except that std::terminate is called but
even if it's not a bug there is room for improvement.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux