This may help too. It is from howstuffworks.com:
Fatal exception error - An application program like Microsoft Word is made up of many layers and components. There is the core operating system, an operating system services layer, perhaps an encapsulation layer on top of the system services, hundreds or software libraries, internal function/class libraries and DLLs, and finally the main application layer. Most modern operating systems and languages (like C++, Java, etc.) support programming concepts known as exceptions and exception handling. Exceptions allow different layers to communicate problems to each other. For example, say that a program needs some memory, so it asks the operating system to reserve a block of memory. If the operating system is unable to honor the memory request (because the requested block is too big, or the system is low on memory, or whatever), it will "throw a memory exception" up to the layer that made the request. Various layers may continue to throw the exception upward. Somewhere along the line one of the layers needs to "catch the exception" and deal with the problem. The program needs to say, "wow - the system is out of memory. I need to tell the user about this with a nice dialog box". If the program fails to catch the exception (because for some reason the programmer never wrote the code to handle that particular exception), the exception makes it all the way to the top of all the layers and the operating system recognizes it as an "unhandled exception". The operating system then shuts down the program. Well designed software handles all exceptions.