Re: Structured exception information
- From: "Dmitry A. Kazakov" <mailbox@xxxxxxxxxxxxxxxxx>
- Date: Thu, 18 Jan 2007 11:16:26 +0100
On Wed, 17 Jan 2007 17:36:41 -0600, Randy Brukardt wrote:
"Dmitry A. Kazakov" <mailbox@xxxxxxxxxxxxxxxxx> wrote in message
news:1lpy2h06scx34.1i2k4dlbg0nfy.dlg@xxxxxxxxxxxxx
How could you be sure that it would write log and not destroy your address
database? A vivid example is MS-Word which corrupts the document being
edited upon crash.
Sure? You can never be completely sure; you have to mitigate risks. But in
my case, I trust my compiler not to destroy anything before generating
checks (given that I wrote most of the compiler, I have a lot of knowledge
of what it will and will not do). I also build components to be resilient to
failure: most everything is controlled, and will reset itself to a correct
state if the objects are prematurely finalized. The main remaining risk is
using dangling pointers (and I try to avoid pointers as much as possible,
and use a special storage pool to try to detect that when I cannot avoid
it). An implementation that corrupted something on a failure is just not
acceptable.
Consider a failure defined as "corrupting something." Now what an
implementation should do if it notices that it just has corrupted something
(=failed)? (:-))
But even with the logging, you still have to be able to deal with crashes.
For instance, these programs run on Windows; and it's been known to die
occassionally.
Right. This is exactly the point. When MS-Word crashes it is not a crash of
Windows. Thus the program Windows can continue, the file system can, HDD
can, the powerplant supplying the computer can etc, but MS-Word cannot. In
other words, for Windows it is a normal state when MS-Word crashes... (:-))
BTW, in my view, writing log is still a valid program
state, it is a defined behavior. As long as you can continue, no matter
how, it is not yet a bug within the scope where you continue.
Well, then there are no bugs in my mail and web servers. I'm happy to hear
that. ;-)
An undesired behavior is still one... Otherwise we would considered
anything we don't like as bugs.
That doesn't match my definition of bug. There's not much to talk about if
we don't agree on the meaning of basic terms.
Yes. I think one should clearly distinguish:
1. states
2. undesired (exceptional) states
3. non-states (bugs)
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
.
- References:
- Structured exception information
- From: Maciej Sobczak
- Re: Structured exception information
- From: Robert A Duff
- Re: Structured exception information
- From: Georg Bauhaus
- Re: Structured exception information
- From: Dmitry A. Kazakov
- Re: Structured exception information
- From: Georg Bauhaus
- Re: Structured exception information
- From: Randy Brukardt
- Re: Structured exception information
- From: Dmitry A. Kazakov
- Re: Structured exception information
- From: Jeffrey Carter
- Re: Structured exception information
- From: Dmitry A. Kazakov
- Re: Structured exception information
- From: Randy Brukardt
- Re: Structured exception information
- From: Dmitry A. Kazakov
- Re: Structured exception information
- From: Randy Brukardt
- Structured exception information
- Prev by Date: Re: Structured exception information
- Next by Date: Re: Translating an embedded C algorithm -- OT
- Previous by thread: Re: Structured exception information
- Next by thread: Re: Structured exception information
- Index(es):
Relevant Pages
|