Delen via


Handlersyntaxis

In deze sectie worden de syntaxis en het gebruik van gestructureerde uitzonderingsafhandeling beschreven, zoals geïmplementeerd in de Microsoft C/C++ Optimizeing Compiler. De volgende trefwoorden worden door de compiler geïnterpreteerd als onderdeel van het gestructureerde mechanisme voor het afhandelen van uitzonderingen.

Trefwoord Beschrijving
__try Begint een beveiligde codetekst. Wordt gebruikt met het trefwoord __except om een uitzonderingshandlerte maken of met het trefwoord __finally om een beëindigingshandlerte maken.
__except Hiermee wordt een codeblok gestart dat alleen wordt uitgevoerd wanneer er een uitzondering optreedt binnen het bijbehorende __try blok.
__finally Hiermee wordt een codeblok gestart dat wordt uitgevoerd wanneer de stroom van het besturingselement het bijbehorende __try blok verlaat.
__leave Hiermee kunt u het __try blokkeren onmiddellijk beëindigen zonder abnormale beëindiging en de prestatiestraf te veroorzaken.

 

De compiler interpreteert ook de GetExceptionCode, GetExceptionInformationen AbnormalTermination functies als trefwoorden, en hun gebruik buiten de juiste syntaxis voor uitzonderingsafhandeling genereert een compilerfout. Hier volgen korte beschrijvingen van deze functies.

Functie Beschrijving
GetExceptionCode Retourneert een code die het type uitzondering aangeeft. Deze functie kan alleen worden aangeroepen vanuit de filterexpressie of het uitzonderingshandlerblok.
GetExceptionInformation- Retourneert een aanwijzer naar een EXCEPTION_POINTERS structuur met aanwijzers naar de contextrecord en de uitzonderingsrecord. Deze functie kan alleen worden aangeroepen vanuit de filterexpressie van een uitzonderingshandler.
AbnormalTermination- Geeft aan of de stroom van het besturingselement de gekoppelde __try sequentieel heeft verlaten na het uitvoeren van de laatste instructie in het blok. Deze functie kan alleen worden aangeroepen vanuit het __finally blok van een beëindigingshandler.