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?
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.
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.)
No.
(Actually, that's my entire answer, but SO doesn't like answers that concise, so I had to add this random sentence! ;-)
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".
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.