Jul 26

Nothing is more frustrating than an application crash, well nothing except a crash without any information.

There are always conditions where errors occur, even if only unbelievable stupidity can lead to such an error, your application should never crash without a word.

Don’t say nothing

Something like “Argument Exception has been thrown. Shutting down” is as good as nothing, no one knows what failed, how bad it was etc. Your error messages should be understandable but on the other hand, they shouldn’t fill entire pages.

Your users aren’t developers

Well, as long as you don’t write IDE plug-ins etc. this should be true ;)

Although “Db call returned 0, expected 1” is the internal error and most developers will know “Ah, an insert/update/delete etc was tried but it failed as there was no row affected.”, the average user won’t understand it.

Provide that there was an error, where it occurred and what the consequences are. Let’s say, the user tried to update something and that resulted in the message above, the message could be written as: “We apologize but there was an error in the database. Your changes have not been saved.”, developers still know “Ah, there was an error in the database” and the average user knows “Oh, my changes weren’t saved, I have to do them again”.

Error recovery

Even if a terrible error occurred, as long as the application was able to correct it, you shouldn’t announce it as the user wouldn’t care anyway. Logging is a different story though.

If you can offer useful tips about what to do after what ever just happened but the application can’t do it alone, show them right away. Your average user will be more than happy if he knows what to do now.

Tagged with:
preload preload preload