[Development] Disabling exception support in QtCore?

Christoph Feck christoph at maxiom.de
Wed Oct 2 01:03:19 CEST 2013


On Wednesday 02 October 2013 00:41:56 Thiago Macieira wrote:
> On quarta-feira, 2 de outubro de 2013 00:04:58, Christoph Feck 
wrote:
> > On Tuesday 01 October 2013 21:20:29 Thiago Macieira wrote:
> > > Should we disable exceptions in QtCore?
> > 
> > If it allows us to get a backtrace actually showing where the
> > unhandled exception was thrown (instead of saying it was caused
> > by the Qt event loop), I am all for disabling exception support
> > in QtCore.
> 
> In order to properly do that, we should remove all try/catch blocks
> in QtCore and replace with scoped pointers and scoped values. We
> should let the destructors handle the cleanup.

Sounds "a bit" more work than simply disabling exceptions, so might be 
something out of scope for 5.x.

> Turning exceptions off may or may not get you the backtrace. It may
> also get you a std::terminate or a crash.

A crash is fine, as long as I see the origin, or are you implying that 
those crashes would record no backtrace at all?

For example, https://bugs.kde.org/show_bug.cgi?id=325360 shows the 
backtrace of a re-thrown exception, but unless there are reproducible 
steps, the report is useless, because the trace originates from the 
event loop. We have hundreds of those reports, and the hope to find a 
reporter who can follow linked gdb instructions is next to zero.

Christoph Feck (kdepepo)
KDE Quality Team



More information about the Development mailing list