- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
What is this... the Magic 8 Ball?
Admin
I guess they made it to the "else" part of the error checking.
Admin
Then, somebody added an extra error code...
Admin
If the programmers really wanted to be helpful, they could at least offer a URL to a forum or an email or something or a web page with common causes of import failure.
Admin
No, those are really annoying. When you get a general error message with a "More info..." (or worse "Details") button that just takes you to a web page with common-sense guidelines, I have even seen web pages that say "Make sure you are connected to the internet"...
Admin
Admin
ERROR! I don't like this post for the following reason: The reason is not clear
Admin
This sort of error reminds me of annoying programming habit #3 on my list:
try{ ... catch(e) {}
Note that there's nothing in the catch block. The developer effectively suppressed the error message. Of course, whatever was in the try block never got fully executed, and there was no error recovery, so now you have no idea what you're working with.
What is the purpose of an error message? I guess for some people, the point is to let the User know that there was an error. That's nice. But what is the User supposed to do with that information?
Maybe if you're the developer, you shouldn't need too much information, since you supposedly know what's going on inside that little box (maybe that's taking too much for granted!).
But a good User error message should make the User feel like he's still in control by explaining:
That last one is very important. It might just be a link to a support page (incidentally, Norton's latest AntiVirus software does this very well; the link you click takes you to a page that is devoted to that specific error, depending on the error code). But it keeps the User experience positive... especially if he hasn't paid your shareware registration fee yet!
Admin
My guess is this is another mistranslation. Instead of "unknown error" they came up with "The reason is not clear". A reasonable mis-translation of 'unknown' perhaps.
I guess what amazes me most is the complete lack of quality control....
Admin
I recommend trepanation for any user who causes the catch-all error case to occur. Make me work harder, will you?!?
Admin
try { DoSomething(); } catch(...) { Error("I don't know what hapenned"); }
Admin
Hmm I would have in least displayed the error # so users can give tech support real bug report.
Admin
It's a catch 22. You give them the error message and they say "WTF does error code #23718F mean?"
Admin
So, seems like the Fontlab guys are still in the murky C++ waters. Could have switched to Java in 1998... making the code clearer and readabler.
Disclaimer. Actually, I think Fontlab is an amazing masterpiece. It is just too complicated inside.
Admin
"Call my function with a null pointer for 'reason', will you? Ha! I'll show you..."
Admin
Surely it's nothing so mundane as that! I suspect that the developers succeeded in creating the world's first acausal error checker: it tried to check a future error, failed to find the reason for it, and generated an error. Brillant, truly brillant.
Admin
Well, I've already made functions that test their arguments for unintended values and throw exceptions even if they could keep going and returned a 'sane' (expected, but not specified) value.
You dare calling my functions with a null pointer! I'll show you.
Admin
Perhaps the import failed, because the reason for running the import was not clear ...
captcha: wigwam
Admin
furrstt?
ERROR: You were probably "furst" but the forum did not rank you as such for possibly unknown reasons.
In browser, Alt-F4 for explanation and fix for any error.
Admin
This is obviously a temporal causality loop. They ususally lead to anomalies, which is why they're banned by the Temporal Prime Directive.
Admin
Just like what I once saw on a Mac a long time ago out of the blue: "An erorr occurred because: An error occurred".
Admin
I was just going to say... Dave T. should've shaked the monitor real good and see if it comes up with a better answer.
Admin
I think the Iraqi Information Minister found a new job.
Admin
So the exception would be somethin like this
all other catches . . . . catch (Exception e) { JOptionPane.showMessage("General Exception"); }
Admin
Oh jeez. If he were a coder, could you imagine?
Admin
Don't forget: "This program isn't running on your computer. You are too far from reality."
Admin
At least then you're in a position to grep your sources for 23718F. Nothing is quite as annoying as generic error messages (without stacktrace..) that can't be traced to anyware in specific.
Admin
Support department? What's that? Since when is a user allowed to contact a software vendor with a problem? You are supposed to pay up and shut up.
Admin
Admin
Admin
Oh, Really? ...nad this would have helped? I actually find this error message much more illuminating, and less infuriating, than the one I get after going through the entire install procedure for Openbravo. After installing:
The newest JDK Apache Tomcat Apache Ant as preqrequisite to the OB installation, the installer ran through all its dialogs, then popped up at the end with the brilliant message: "An error occurred" and failed.
At least the dialog shown in this post indicates that there was some effort to ascertain foreseeable causes. It would have been even nicer to print a stack trace to disk and provide a reference, but the message provided at least showed a certain humility.
Admin
Exactly. :)
An useful catchall "else" error message is better than this useless catchall "else" error message.
Admin
Maybe "not clear" is the name of a module that's still being developed.
Admin
Admin
I can give you one example. Pardon me, but the first example that comes to mind is VB6:
'''''''''''''''''''''''''''''''''''''''' MyRecordset.MoveFirst For Index0 = 1 to MyRecordset.RecordCount On Error Resume Next MyCollection.Add MyRecordset("State"), MyRecordset("State") On Error Goto 0 MyRecordset.MoveNext Next Index0 ''''''''''''''''''''''''''''''''''''''''
See, we are adding the field "State" from MyRecordset to a collection. We are using the VALUE of this field as the key. The only error that will trigger is "trying to add duplicate key". No need to handle that.
Admin
My favourite example is ICQ. If your connection fails and you get disconnected it pops up a message saying you don't appear to have net access, click a link for more information. The link leads to their website...
Admin
I think Paula has found a new home. Brillant!
Admin
Seems like a pretty pathetic WTF to me. The error message is just saying that the reason the import failed isn't clear. What's the problem with that?
I guess you can get super picky if you analyze the logic of the error message literally, but I think the average user will understand it without any problem.