Hi Andreas Mohr schrieb:
On Wed, Mar 08, 2006 at 02:08:52PM +0100, Peter Beutner wrote:
Imo a library is supposed to validate given parameters as much as possible and rather return an error to the caller than to crash.
We're not a library.We're a very, very, very, very specific piece of software
Well, I remember I was told that wine is just another gui toolkit like gtk+ or qt *scnr*.
that is required to absolutely, positively fully emulate Windows to the closest extent possible (within practical limits, of course). As such debating whether to delay a crash by adding useless checks *that do not exist in Windows*(!) to *work around* strange behaviour most likely caused by our own non-conformant code is utterly pointless.
And I thought the whole idea behind error-checking was not just to delay the crash but to entirely prevent it and instead inform the user what and where something failed. I would prefer it if the application pops up a message "xyz failed" rather than a crash. (admittingly, in how far the application does this in a proper way is entirely out of our hands ;) )
Let's just hope the kernel devs don't adopt your "Better-crash-than-return-an-error" strategy :p
If there's a problem that we need to be aware of, then we'd better get to know about it NOW, not 5 lines, not 3000 relay lines and not 10 minutes after it occurred and nobody ever remembers what the actual problem was.
To repeat it, if that crash happens you are *already* "3000 relay lines" after the actually problem and you have *no* clue what the actual problem is.