Dela via


Strukturerad undantagshantering

Ett undantag är en händelse som inträffar under körningen av ett program och kräver körning av kod utanför det normala kontrollflödet. Det finns två typer av undantag: maskinvarufel och programvarufel. Maskinvarufel initieras av processorn. De kan bero på körningen av vissa instruktionssekvenser, till exempel division med noll eller ett försök att komma åt en ogiltig minnesadress. Undantag från programvara initieras uttryckligen av program eller operativsystemet. Systemet kan till exempel identifiera när ett ogiltigt parametervärde har angetts.

Strukturerad undantagshantering är en mekanism för hantering av både maskinvaru- och programvarufel. Koden hanterar därför maskinvaru- och programvarufel på samma sätt. Med strukturerad undantagshantering kan du ha fullständig kontroll över hanteringen av undantag, ger stöd för felsökningsprogram och kan användas på alla programmeringsspråk och datorer. Vektorbaserad undantagshantering är ett tillägg till strukturerad undantagshantering.

Systemet stöder också avslutningshantering, vilket gör att du kan se till att när en skyddad kodtext körs, körs även ett angivet block med avslutningskod. Avslutningskoden körs oavsett hur kontrollflödet lämnar det skyddade blocket. En avslutningshanterare kan till exempel garantera att rensningsuppgifter utförs även om ett undantag eller något annat fel inträffar medan den skyddade kodtexten körs.