Graceful failures

Hans-Joachim Widmaier hjwidmaier at
Wed Dec 31 18:19:00 CET 2003

It is quite a coincidence that a thread like this pops up right when I
feel I have to start one - with almost exactly the same subject - myself.

Error handling can easily be the hardest task in a program, and that's why
its being neglected most of the time.

Am Wed, 31 Dec 2003 05:28:08 +0000 schrieb Samuel Walters:

> My "dream error dialog box" would do the following:
> Tell the user in a very neutral and nontechnical manner that it has
> encountered a problem and tell the user what it was trying to do when it
> failed. 
> for instance:
> """
> Foo has encountered a problem.
> Foo was unable to load the necessary images to continue. 
> """

I would like it much more detailled, like:

Foo has encountered a problem. It was trying to load a necessary image
from the file '/usr/share/Foo/images/up.png'. This file does apparently
not exist. The problem may be caused by a broken installation of Foo.
Alas, Foo cannot be continued and will be closed.

(I'm not the best error message designer, but I hope you get the point:
Tell exactly *what* is missing, so an even moderatly experienced user can
try to fix it. I *hate* messages like "Cannot find image". What image?
Where is it supposed to be?)

> The error dialog box should allow the user the option of viewing
> technical details, but should clearly label them as technical details.

Which means the details I want go there - fine with me.
> If possible, the user should be presented with possible courses of
> action to correct the problem.


> Finally, I really, really wish that users were presented with the option
> of being automagically taken to the technical support website where
> they're allowed to see and discuss with others how to solve their
> particular problem.

This, of course, is a bit overkill for a little freeware program, but
sounds good for a "big" application with a hefty price tag.

Handling every conceivable error right is quite a challenge and lots of
work, especially in the test department.

Hans-Joachim Widmaier

More information about the Python-list mailing list