Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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. |