Exception Handling

Description of the functions related to Exception handling.

When an exception occurs, such as dividing by zero or an access violation, what happens depends on whether the thread has an exception handler. If a thread has no exception handler or has an exception handler which will not handle the type of exception identified by the TExcType enumeration, then the exception is passed to the Kernel for handling. The default action is to panic the offending thread.

If a thread has an exception handler, then the handler is executed in the context of the thread on which the exception is raised; control returns to the point of exception. If a thread calls RaiseException() and there is no handler for that type of exception, then a KERN-EXEC 3 panic is raised.

The following functions are involved in exception handling: