|
Up until yesterday "Out of Memory" was my worst exception. By coincidence, today I found out was not actually an exception, but an error condition in Java, which explains why I wasn't catching it. So now its been promoted to worst throwable. And I hate pretty much everything you can throw.
|
|
|
|
|
I have a top-level exception (well, throwable) catcher that catches all these and creates another, Unexpected Error
|
|
|
|
|
The temptation is to wrap my entire runnable in something like:
Try {// running my program}
Catch (Throwable anything)
{
// act like nothing bad happened and restart somewhere nice
}
But my head tells me that handling every possible throwable in my code is probably not a great idea.
|
|
|
|
|
There's actually a really good reason for that, too. If it were an Exception, you'd catch it and try to run some more code, which would almost certainly not have the memory to run, throwing it again. Unexpected exceptions in catch/finally blocks can really screw your code up, so OOME is not supposed to be caught except in the explicit case that you really want to handle it.
In Java there's very little you can do about it because you don't directly control your memory.
|
|
|
|
|
"Catastrophic Failure", no more, no less. No error code, no reference to where the error came from or how it got there..... SIGH!
There's nothing worse than getting an error like that after a 12 hour coding session...
|
|
|
|
|
PC LOAD LETTER
This is what happens when full-blown engineers who write a little code try their hand at exception handling. Everyone knows that PC means paper cassette (what else could it possibly mean?), and that LETTER means the letter-size paper tray, right? Surely that's more informative than "ADD PAPER," I mean it tells you exactly what kind of paper to use and where to put it.
My favorite, though, is the GPF error message from Windows 95/NT:
"This program has performed an illegal operation and will be shut down."
Back in the NT/95 days I worked as the IT guy for a public library. People would get that message on the public terminals and freak out, expecting the police to show up. I thought about hacking the Windows API to add sirens and flashing lights to the dialog, but figured it might not look good on my next review. The conversations I had with patrons trying to explain the error were pretty funny though. Even funnier were the patrons who just got up and made a bee-line for the door, wonder what they were surfing?
|
|
|
|
|
That was my choice too, Out of Memory. GDI throws this a lot and it's misleading. People with 8 gigs of ram scratch their heads wondering where it went wrong. GDI uses limited pools of memory for its stuff, and when it runs out it doesn't tell you which of these pools was exhausted. Even worse it usually lacks GDI resources to throw up a message box telling you it ran into a problem.
I've dealt with this a lot in the past week.
|
|
|
|
|
C#'s missing DLL exception is my absolute favorite worst. Not the exception itself, but because Microsoft put all these convenient fields in for identifying which DLL was missing, and then didn't bother to actually fill any of them in.
[edit] Not worst, but rather my all time favorite, was the insufficient memory error message from the IBM (3090?) we had at school. It included the 800 phone number of the sales team so you could contact them to buy more memory. Of course, configuring the VM to have more RAM was the cheap answer
We can program with only 1's, but if all you've got are zeros, you've got nothing.
modified 20-May-13 12:07pm.
|
|
|
|
|
Who is General Failure? And why is he reading drive A?
|
|
|
|
|
I would like to submit the following from [^]:
Three things are certain:
Death, taxes, and lost data.
Guess which has occurred.
Everything is gone;
Your life's work has been destroyed.
Squeeze trigger (yes/no)?
I'm sorry, there's -- um --
insufficient -- what's-it-called?
The term eludes me ...
Windows NT crashed.
I am the Blue Screen of Death.
No one hears your screams.
Seeing my great fault
Through darkening blue windows
I begin again
The code was willing,
It considered your request,
But the chips were weak.
Printer not ready.
Could be a fatal error.
Have a pen handy?
A file that big?
It might be very useful.
But now it is gone.
Errors have occurred.
We won't tell you where or why.
Lazy programmers.
Server's poor response
Not quick enough for browser.
Timed out, plum blossom.
Chaos reigns within.
Reflect, repent, and reboot.
Order shall return.
Login incorrect.
Only perfect spellers may
enter this system.
This site has been moved.
We'd tell you where, but then we'd
have to delete you.
wind catches lily
scatt'ring petals to the wind:
segmentation fault
ABORTED effort:
Close all that you have.
You ask way too much.
First snow, then silence.
This thousand dollar screen dies
so beautifully.
With searching comes loss
and the presence of absence:
"My Novel" not found.
The Tao that is seen
Is not the true Tao, until
You bring fresh toner.
The Web site you seek
cannot be located but
endless others exist
Stay the patient course
Of little worth is your ire
The network is down
And many others.
Gus Gustafson
|
|
|
|
|
Uncaught Error - 'undefined'
The error message that gets thrown when an HTML5 WebSocket crashes due to an unknown cause...
-= Reelix =-
|
|
|
|
|
Socket error handling is a nightmare even in a real language/environment ... SocketDisposedException is the .Net equivalent of this, when a socket is closed but it hasn't got around to telling you until you try to write to it.
|
|
|
|
|
1) Something went wrong but I'm not telling you what
2) Illegal/invalid value but I'm not going to tell you what the illegal/invalid value is.
|
|
|
|
|
AppHangB...does anyone have any idea where that comes from or what causes it.
|
|
|
|
|
java.lang.ClassNotFoundException
In an applet, pure bliss to solve...
|
|
|
|
|
What about the ones with no description and just an error code. You can get some general information from MSDN that leads to a category but ...
"Courtesy is the product of a mature, disciplined mind ... ridicule is lack of the same - DPM"
|
|
|
|
|
For me, the worst is the Prism Framework's composition exception.
There is often not enough detail to be able to tell exactly what the issue is - so you end up having to retrace through the composition of the object and its imports only to think its OK and the framework is screwing with you. Then after staring blankly at the code for an hour you finally see a missing export or an unhandled exception in a constructor somewhere and you curse Prism for not telling you that in the first place! Then you feel like an idiot for missing it for the last hour.
|
|
|
|