What's With All Those Error Messages?
By Stephen Bucaro
Your software application pops up an error message with some cryptic message like
"Unexpected Application Error", "General Protection Fault" or "Illegal Operation". You
don't have a clue as to what the message means. Illegal Operation! What did you do wrong?
YOU didn't do anything wrong. Somewhere along the line a programmer did something
wrong. In this article, I'm going to give you some insight into those cryptic error messages.
>General Protection Fault (GPF)
Each application running on your computer stakes out a 4GB area of memory to park
itself and all of it's data. All other applications (including other instances of the
same application) are forbidden from using that memory area. If an application tries
to store something in another applications memory area - BAM! General Protection Fault!
GPFs can be caused by the operating systems overcomplicated memory management scheme.
To understand how complicated that scheme is, realize that your computer may not even
have 4GB of memory and hard disk space combined, but you can still run multiple applications
that each think they have 4GB of memory to work with. That's real smoke and mirrors!
As complicated as that scheme is, GPFs are rarely caused by the operating system.
That's because every operating system uses the same time tested and proven memory
management scheme. GPFs are usually caused by an application programmers coding error.
Here are some other possible causes of GPFs.
• Bad memory chip
• Failing hard disk
• Computer overheating
This error is not caused by an illegal operation by you. Your application tried to
perform an illegal operation. One example of an illegal operation is "divide by zero".
Enter a number in your calculator and then divide it by zero. Your calculator will
display the message "Error". It's illegal to divide a number by zero.
Somewhere in the applications sequence of operation, a mathematical operation
resulted in a value of zero. The programmer didn't test for this before they used the
number as the divisor in another mathematical operation. Result, Illegal Operation!
There are many other possible illegal operations. An Illegal Operation error is
almost always the result of a programmer's error.
When a programmer creates the code for an application to write to a file, they must
first put code to "open" the file. If an application tries to write to a file without
opening it first, you get the message "Unexpected Application Error". There are many
other possible UAEs. An UAE is almost always the result of a programmers error.
One thing I've learned as a programmer is that users will always find a way to
break your program. A programmer designs the application to be used in a logical
manner. Users never read the help file. They just start executing menu selections in
an irrational manner. The program crashes.