Archon::Utilities::UnexpectedException Struct Reference

Signals an unexpected exceptional condition. More...

#include <archon/util/exception.H>

Inheritance diagram for Archon::Utilities::UnexpectedException:

Inheritance graph
[legend]
Collaboration diagram for Archon::Utilities::UnexpectedException:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 UnexpectedException (string location, string message)

Protected Member Functions

 UnexpectedException ()
 UnexpectedException (string location)

Detailed Description

Signals an unexpected exceptional condition.

The common trait for these conditions is that the caller cannot and will not handle them. There is generally only one way for these exceptions, and that is all the way back to main.

Two common subclasses are:

  1. Grave errors that the application could not have prevented nor predicted or the application would have had an unreasonably hard time predicting it. An example is too many open files or maybe too many running threads.

  1. Programming errors resulting in illegal arguments being passed or in illegal access to objects base on the object state.

An example that does not comply with this class would be a "netword resource unavalable exception" thrown by a URI loader. For some applications of the loader this exception will be fatal, but other applications will have no problem in continuing without the resource. You could say that such an error is indeed expected.

There are a number of subclasses of unexpected exceptions. The purpose of these subclasses is to carry basic information about the type of exception. This should reduce the amount of information one needs to put into the message. The subclasses are not meant to be further derived, since there is not great need for a class hierarchy of exceptions that only rarely get cached.

Definition at line 340 of file exception.H.


The documentation for this struct was generated from the following file:
Generated on Sun Jul 30 22:57:22 2006 for Archon by  doxygen 1.4.4