Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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. |