EH++ Library

The EH++ Library is a static library designed as a drop-in replacement for the Microsoft C++ exception-handling runtime. The library is designed for use in any environment the Microsoft C++ compiler supports — including WDM & KMDF drivers, as well as regular user-mode programs and DLLs.

Library features

  • Standard-conforming C++ exception handling
  • Does not use any OS support for throwing or handling C++ exceptions
  • Does not require or use any SEH support at all
  • Minimal stack footprint for C++ exceptions (no bloated processor contexts)
  • Thread-safe (but does not use TLS or TLS-like constructs)
  • Compatible with the existing default libraries
  • No source modifications required for C++ exceptions
  • Catch-able system exceptions with native C++ catch blocks
  • Compatible with existing SEH-based handling
  • Compatible with SafeSEH (internal handlers are SafeSEH-tagged)


The EH++ Library is distributed in an open-source license version and a commercial license version. The open-source license version is appropriate if your project complies with the requirements of the GNU General Public License, version 3 (GPL v3). Most importantly under the terms and conditions of the GPL v3 license, are the requirements that your source code is freely available, modifiable and licensed no more restrictively than this software was licensed to you.


To build and use the EH++ Library for use with WDM, KMDF or UMDF Windows drivers, you must have installed the Microsoft Windows Driver Kit. The latest version is available here Microsoft WDK 7.1.0 .

Other environments require Microsoft Visual C++ 2008 or newer.


The README file has the latest instructions for configuring, building and using the EH++ Library.

License Filename Size Hash
GPL v3 83KB MD5 5ee2a36344aa42f13d9ff02835926bb7
SHA-1 9f6ebea9c3e80403c4d27971623aee0ad132ba1e