Hanterarsyntax
I det här avsnittet beskrivs syntaxen och användningen av strukturerad undantagshantering som implementerats i Microsoft C/C++ Optimizeing Compiler.This section describe the syntax and usage of structured exception handling as implemented in the Microsoft C/C++ Optimizeing Compiler. Följande nyckelord tolkas av kompilatorn som en del av den strukturerade mekanismen för undantagshantering.
Nyckelord | Beskrivning |
---|---|
__try | Påbörjar en skyddad kodtext. Används med nyckelordet __except för att skapa en undantagshanterare, eller med nyckelordet __finally för att skapa en avslutningshanterare. |
__except | Påbörjar ett kodblock som endast körs när ett undantag inträffar inom dess associerade __try block. |
__finally | Påbörjar ett kodblock som körs när kontrollflödet lämnar dess associerade __try block. |
__leave | Tillåter omedelbar uppsägning av __try-blocket utan att orsaka onormal uppsägning och dess prestandastraff. |
Kompilatorn tolkar också GetExceptionCode, GetExceptionInformationoch AbnormalTermination funktioner som nyckelord, och deras användning utanför lämplig syntax för undantagshantering genererar ett kompilatorfel. Följande är korta beskrivningar av dessa funktioner.
Funktion | Beskrivning |
---|---|
GetExceptionCode | Returnerar en kod som identifierar typen av undantag. Den här funktionen kan bara anropas inifrån filteruttrycket eller undantagshanterarblocket. |
GetExceptionInformation | Returnerar en pekare till en EXCEPTION_POINTERS struktur som innehåller pekare till kontextposten och undantagsposten. Den här funktionen kan bara anropas inifrån filteruttrycket för en undantagshanterare. |
AbnormalTermination | Anger om kontrollflödet lämnade den associerade __try blockera sekventiellt efter att den sista instruktionen i blocket har körts. Den här funktionen kan bara anropas inifrån det __finally blocket för en avslutningshanterare. |