[Development] Question about QCoreApplicationData::*_libpaths
milian.wolff at kdab.com
Thu Jan 21 23:35:29 CET 2016
On Donnerstag, 21. Januar 2016 22:44:02 CET Andre Somers wrote:
> On 21-1-2016 21:09, Milian Wolff wrote:
> > On Donnerstag, 21. Januar 2016 07:25:21 CET André Somers wrote:
> >> Op 21/01/2016 om 05:35 schreef Thiago Macieira:
> >>> On Thursday 21 January 2016 05:27:50 Kevin Kofler wrote:
> >>>> Thiago Macieira wrote:
> >>>>> The copy constructor is called once, then the move constructor. If
> >>>>> value_type's move constructor is not noexcept, then it may throw after
> >>>>> the
> >>>>> container resized.
> >>>> Throwing an exception in a move constructor is really, really horrible.
> >>>> I
> >>>> can see why a copy constructor would throw (out of memory, failure to
> >>>> duplicate some other resource), but a move?
> >>> Indeed.
> >>> But the class in question may not have a move constructor. In the
> >>> absence
> >>> of one, the copy constructor gets called.
> >> I generally don't care. If I can't copy anymore due to running out of
> >> memory, I'm pretty much done anyway. No reliable way to recover from
> >> that. Might as well terminate the program.
> > Right, _you_ don't care. But as a library one cannot usually make such
> > claims. People may want to use it in conditions where they _do_ care, and
> > for good reason. It would be a shame if C++ would not be applicable for
> > such scenarios just because some people didn't care enough.
> So, please, enlighten me. What would be a realistic way to recover from
> such an exception?
This of course heavily depends on the actual application and code path.
Possible scenarios I can imagine:
- drop caches to free up memory
- abort current operation, assuming it will clean up after itself and went
into an abnormal state, i.e. repeating it may not necessarily result in the
- abort current operation without taking down other more important operations
- abort whole application in orderly fashion (i.e. not terminate but do a real
Be creative, I bet you can come up with realistic recovery situations
Milian Wolff | milian.wolff at kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
KDAB - The Qt Experts
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 5903 bytes
Desc: not available
More information about the Development