The goals of the Win32 exception handling capabilities are the following:
Provide a single mechanism for exception handling that is usable across all languages.
Provide a single mechanism for the handling of hardware-generated, as well as software-generated exceptions.
Provide a single exception handling mechanism that can be used by privileged, as well as nonprivileged software.
Provide a single mechanism for the handling of exceptions and for the capabilities necessary to support sophisticated debuggers.
Provide an exception handling mechanism that is portable and which separates machine-dependent from machine-independent information.