ctrl+c and destructors

Max Samukha maxsamukha at gmail.com
Thu Oct 3 01:02:15 PDT 2013


On Wednesday, 2 October 2013 at 02:30:42 UTC, Walter Bright wrote:

> Right. A null pointer dereference is a logic bug in your 
> program, and hence the program needs to stop immediately, not 
> execute "cleanup" code.
>
> If there's one notion I'd like to terminate with prejudice, 
> it's the notion that a running program can "recover" from bugs 
> in itself.

That famous prejudice of yours :). As always, it depends. The 
application can't "recover" but it can give the user an 
opportunity to (partially) recover his work. For example, I 
appreciated the fact that Cubase/Nuendo often continued execution 
after a poorly debugged in-process plugin segfaulted. I do not 
know exactly what cleanup procedure the application executed on 
the inconsistent state but most of the time I was able to recover 
it completely.


More information about the Digitalmars-d mailing list