Delen via


Verwerking van gestructureerde uitzonderingen

Een uitzondering is een gebeurtenis die optreedt tijdens de uitvoering van een programma en vereist de uitvoering van code buiten de normale controlestroom. Er zijn twee soorten uitzonderingen: hardware-uitzonderingen en software-uitzonderingen. Hardware-uitzonderingen worden gestart door de CPU. Ze kunnen het gevolg zijn van de uitvoering van bepaalde instructiereeksen, zoals delen door nul of een poging om toegang te krijgen tot een ongeldig geheugenadres. Software-uitzonderingen worden expliciet gestart door toepassingen of het besturingssysteem. Het systeem kan bijvoorbeeld detecteren wanneer een ongeldige parameterwaarde is opgegeven.

Gestructureerde uitzonderingsafhandeling is een mechanisme voor het verwerken van zowel hardware- als software-uitzonderingen. Daarom verwerkt uw code hardware- en software-uitzonderingen identiek. Met gestructureerde uitzonderingsafhandeling kunt u volledige controle hebben over de verwerking van uitzonderingen, biedt ondersteuning voor foutopsporingsprogramma's en kan worden gebruikt in alle programmeertalen en machines. Vectored exception handling is een uitbreiding op gestructureerde uitzonderingsafhandeling.

Het systeem ondersteunt ook beëindigingsafhandeling, waarmee u ervoor kunt zorgen dat wanneer een beveiligde code wordt uitgevoerd, ook een opgegeven blok beëindigingscode wordt uitgevoerd. De beëindigingscode wordt uitgevoerd, ongeacht hoe de controlestroom het beveiligde codeblok verlaat. Een beëindigingshandler kan bijvoorbeeld garanderen dat opschoningstaken worden uitgevoerd, zelfs als er een uitzondering of een andere fout optreedt terwijl de beveiligde hoofdtekst van de code wordt uitgevoerd.