Zielgeräte, auf denen WinEC7 ausgeführt wird, verwenden Ausnahmen (Exceptions) als Bestandteil der System-und Anwendungsverarbeitung. Die korrekte Behandlung von Ausnahmen stellt ein stabiles Betriebssystem und eine positive Benutzererfahrung sicher. Anstatt beispielsweise eine Anwendung zur Video-Aufzeichnung abzubrechen, wenn keine Kamera angeschlossen ist, ist es sinnvoller, den Benutzer aufzufordern, eine USB-Kamera anzuschließen. Die Ausnahmebehandlung ist jedoch keine universelle Lösung. Unerwartetes Anwendungsverhalten kann auch das Ergebnis von böswilligen Code-Änderungen in ausführbaren Dateien, DLLs, Speicherstrukturen und Daten sein. In diesem Fall ist das Abbrechen der fehlerhaften Komponente oder Anwendung die beste Vorgehensweise, um die Daten und das System zu schützen.
WinEC7 unterstützt eine blockorientierte, strukturierte Ausnahmebehandlung. Es ist möglich, eine Code-Sequenz in Klammern ({}) einzuschließen und mit dem Schlüsselwort __try zu markieren (Listing 2). Damit wird angezeigt, dass alle während der Code-Ausführung ausgelösten Ausnahmen einen Ausnahmehandler in einem Abschnitt aufrufen, der mit dem Schlüsselwort __except gekennzeichnet ist.
Der C/C++-Compiler in Microsoft Visual Studio kennt diese Schlüsselwörter und compiliert die Code-Blöcke mit zusätzlichen Anweisungen, die dem System ermöglichen, den Computerstatus wiederherzustellen und die Thread-Ausführung an der Stelle fortzusetzen, an der die Ausnahme aufgetreten ist, oder die Steuerung an einen Ausnahmehandler zu übergeben und die Thread-Ausführung im Aufrufstack-Frame fortzusetzen, in dem sich der Ausnahmehandler befindet.
Mit der Systemprogrammierung hat man die direkte Kontrolle über das gesamte Betriebssystem und kann alle Eigenschaften durch das Win32-API nutzen.