Subject: Re: [std-proposals] Adding stacktrace to std::exception
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2020-11-12 09:27:26
ÑÑ, 12 Ð½Ð¾ÑÐ±. 2020 Ð³. Ð² 17:39, Christof Meerwald via Std-Proposals
> On Thu, Nov 12, 2020 at 05:14:52PM +0300, Antony Polukhin via Std-Proposals wrote:
> > ÑÑ, 11 Ð½Ð¾ÑÐ±. 2020 Ð³. Ð² 20:32, Kilian Henneberger via Std-Proposals
> > <std-proposals_at_[hidden]>:
> > >
> > > Hello everyone,
> > > if I am informed correctly, P0881 (https://wg21.link/P0881) has been
> > > approved for C++23.
> > > And I assume this is no new idea (also not to C++), but what do you
> > > think about adding a stacktrace to std::exception?
> > This is a very good idea that was not discussed, because this seemed
> > to be an ABI breaking change.
> Wouldn't that add significant run-time overhead to every throw
It depends. Some implementations may store the stacktrace entry on
unwinding. That's literally a 1 cmov instruction due to the fact that
the implementation already works with the frame pointer
> This really needs to be opt-in, but in that case you can just get the
> stacktrace in your exception's constructor?
You can use std::stracktrace in your exceptions with C++23. However,
getting stacktraces for any exception out-of-the-box is a tempting
feature, especially for big codebases with legacy parts.
-- Best regards, Antony Polukhin
STD-PROPOSALS list run by firstname.lastname@example.org
Standard Proposals Archives on Google Groups