The GC, destructors, exceptions and memory corruption
Vladimir Panteleev
vladimir at thecybershadow.net
Fri May 13 01:33:01 PDT 2011
On Fri, 13 May 2011 11:22:11 +0300, Daniel Gibson <metalcaedes at gmail.com>
wrote:
> It may be sane to just define that destructors are nothrow and if they
> throw anyway to terminate the program.
>
> What is the current behaviour anyway? ;)
D2 throws a FinalizeError (which is an Error, so "not recoverable").
D1 just allows the exception to propagate through the GC to whatever
caused a GC to run.
Both leave the GC in an indeterminate state, as far as I can tell.
--
Best regards,
Vladimir mailto:vladimir at thecybershadow.net
More information about the Digitalmars-d
mailing list