On Fri, 13 May 2011 11:22:11 +0300, Daniel Gibson <[email protected]> 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:[email protected]

Reply via email to