Ausnahmebehandlung in MSVC

Eine Ausnahme ist ein Fehlerzustand, möglicherweise außerhalb der Steuerung des Programms, der verhindert, dass das Programm entlang des regulären Ausführungspfads fortgesetzt wird. Bestimmte Vorgänge, einschließlich Objekterstellung, Dateieingabe/Ausgabe und Funktionsaufrufe aus anderen Modulen, sind alle potenziellen Quellen von Ausnahmen, auch wenn Ihr Programm ordnungsgemäß ausgeführt wird. Stabiler Code antizipiert und behandelt Ausnahmen. Um Logikfehler zu erkennen, verwenden Sie Dies anstelle von Ausnahmen (siehe Verwenden von Assertionen).

Arten von Ausnahmen

Der Microsoft C++-Compiler (MSVC) unterstützt drei Arten von Ausnahmebehandlung:

Verwenden Sie eine /EH-Compileroption , um das Ausnahmebehandlungsmodell anzugeben, das in einem C++-Projekt verwendet werden soll. Die Standard-C++-Ausnahmebehandlung (/EHsc) ist die Standardeinstellung in neuen C++-Projekten in Visual Studio.

Es wird nicht empfohlen, die Ausnahmebehandlungsmechanismen zu kombinieren. Verwenden Sie z. B. keine C++-Ausnahmen mit strukturierter Ausnahmebehandlung. Die Verwendung der C++-Ausnahmebehandlung macht Ihren Code ausschließlich tragbarer und ermöglicht es Ihnen, Ausnahmen eines beliebigen Typs zu behandeln. Weitere Informationen zu den Nachteilen der strukturierten Ausnahmebehandlung finden Sie unter Strukturierte Ausnahmebehandlung.

In diesem Abschnitt

Weitere Informationen

C++-Sprachreferenz
x64-Ausnahmebehandlung
Ausnahmebehandlung (C++/CLI und C++/CX)