GetExceptionInformation
The GetExceptionInformation
function retrieves a machine-independent description of an exception, and
information about the machine state that existed for the thread when the
exception occurred. This function can be called only from within the filter
expression of a try-except exception handler.
LPEXCEPTION_POINTERS GetExceptionInformation(VOID)
Parameters
This function
has no parameters.
Return Values
The return
value is a pointer to an EXCEPTION_POINTERS
Remarks
The filter
expression (from which the function is called) is evaluated if an exception
occurs during execution of the try block, and it determines whether the except
block is executed. The following example shows the structure of a try-except
statement.
try {
/* try
block */
}
except (filter-expression) {
/*
exception handler block */
}
The filter
expression can invoke a filter function. The filter function cannot call GetExceptionInformation.
However, the return value of GetExceptionInformation can be passed as a
parameter to a filter function.
To pass the EXCEPTION_POINTERS
information to the exception-handler block, the filter expression or filter
function must copy the pointer or the data to safe storage that the handler can
later access.
In the case
of nested try-except statements, each statement s filter
expression is evaluated until one is evaluated as EXCEPTION_EXECUTE_HANDLER or
EXCEPTION_CONTINUE_EXECUTION. Each filter expression can invoke GetExceptionInformation
to get exception information.
See Also