views:

236

answers:

8

After experiencing numerous problems with a certain media player, it got me thinking is it really acceptable to prompt the user to launch a debugger or terminate an application without any relevant information in this day and age?

+2  A: 

Apparently. Did you uninstall the media player?

Seriously, I'd say "no, it's not acceptable." But there seem to be a lot of vendors who disagree with me.

Charlie Martin
A: 

After a reboot the media player "magically" seemed to work again, I just think "tell me what is wrong and I will try to fix it" instead of just exiting on me.

A: 

Not really.

While you can't really predict all exceptions that may be raised on your program that you didn't account for, you can surely catch System.Exception at the top of your program and present a dialog box telling the user to report the info to you. (Maybe with even an automated system to do that online.)

yuriks
A: 

Agreed, surely the "last line of defence", in this case as you say a System.Exception should give the user a hint of what is wrong so they can take action.

A: 

Is this just laziness or incompetence on the part of the developer?

A: 

No.

(Actually, that's my entire answer, but SO doesn't like answers that concise, so I had to add this random sentence! ;-)

joel.neely
A: 

Maybe not, but you know shit happens :) There is no big difference between "a shiny oh exception happened, please call us" and "just classical debug window message".

dr. evil
A: 

Depends on your audience imho.

If youre targetting the "average Joe" users, I'd say catch your mother-exception on top-level. Terminate the application and tell the user that something has gone wrong (please don't use a "call us" or "report bug" sentence - They are useless).

If you're targetting developers (aka. in-house development) an unhandled exception is okay-ish imho, but the best thing would be to print and / or log the stacktrace and all other information you got avaliable along with a link to a site where it say's who's responsible for the application and who to contact if the problem persists.

Meeh
"aka. in-house development" shouldve been "a lá" :)
Meeh