DIP33: A standard exception hierarchy
Ali Çehreli
acehreli at yahoo.com
Mon Apr 1 13:34:39 PDT 2013
On 04/01/2013 12:44 PM, Dmitry Olshansky wrote:> 01-Apr-2013 20:00, John
Colvin пишет:
>> Therefore, you're better off not trying to cleanup if program state
>> could be invalid.
>
> Data is corrupted no matter if you just fail to write it in a consistent
> state (sudden assertion in some 3-rd party library) or corrupt
> accidentally by bad write (during cleanup on corrupted RAM).
The failed assertion may be the moment when the program detects that
something is wrong. A safe program should stop doing anything else.
> Therefore you should always try to orderly cleanup but do not rely on it
> to actually work at all circumstances (thus backups, commits/save
> points, watchdogs and whatnot).
A safe program must first guarantee that that cleanup is harmless, which
is not possible when the program is in an invalid state. Imagine sending
almost infinite number of "cleanup" commands to a device that can harm
people who are around it.
Ali
More information about the Digitalmars-d
mailing list