GetExceptionInformation macro

Retrieves a computer-independent description of an exception, and information about the computer state that exists for the thread when the exception occurs. This function can be called only from within the filter expression of an exception handler.


The Microsoft C/C++ Optimizing Compiler interprets this function as a keyword, and its use outside the appropriate exception-handling syntax generates a compiler error.



LPEXCEPTION_POINTERS GetExceptionInformation(void);


This macro has no parameters.

Return value

A pointer to an EXCEPTION_POINTERS structure that contains pointers to the following two structures:

  • EXCEPTION_RECORD structure that contains a description of the exception.
  • CONTEXT structure that contains the computer state information.


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 or not the __except block is executed.

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 handlers, each 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.


Requirement Value
Minimum supported client
Windows XP [desktop apps only]
Minimum supported server
Windows Server 2003 [desktop apps only]

See also






Structured Exception Handling Functions

Structured Exception Handling Overview

Enable Windows Support for Intel AVX