Inhoudsopgave:
Definitie - Wat betekent Exception Handling?
Behandeling van uitzonderingen is een mechanisme waarbij een programmeerconstructie wordt gebruikt om de fout die tijdens de uitvoering van de toepassing is opgetreden consequent te vangen, onderscheppen en af te handelen. De Common Language Runtime (CLR) van .NET Framework is ontworpen om een uitzonderingsafhandelingsmodel te gebruiken dat is gebaseerd op uitzonderingsobjecten en beschermde codeblokken.
De kenmerken van het uitzonderingsbeheer dat in CLR is geïmplementeerd, zijn de volgende:
a) Elke taal kan zijn eigen specificatie hebben voor het verwerken van uitzonderingen zonder enige beperkingen
b) Uitzonderingen worden gegenereerd en afgehandeld, ongeacht de taal en het type code (beheerd of onbeheerd)
c) Uitzonderingen kunnen over proces- of machinegrenzen heen worden gegooid
Techopedia verklaart Exception Handling
.NET runtime gooit uitzonderingen als objecten afgeleid van System.Exception-klasse die foutdetails bevatten, inclusief bericht en coderegel waar de fout optrad, enz. De constructie "try..catch..finally" wordt gebruikt voor het afhandelen van uitzonderingen. Terwijl "try" (waar uitzonderingen worden verwacht) en "catch" (waar uitzonderingen worden behandeld) blokken verplicht zijn, is het "eindelijk" (waar code in elk geval uitgevoerd) blok optioneel.
In vergelijking met foutafhandeling geïmplementeerd met behulp van traditionele methoden - zoals het gebruik van retourcode zoals in Component Object Model (COM) en "ga naar" -instructies, zoals in Visual Basic, enz. - zijn de belangrijkste voordelen van uitzonderingen in .NET het overvallen van alle storingen, eliminatie van het proces voor het controleren van de retourwaarde en het gebruik ervan (indien ongeldig) in toepassingen, gebruik in scenario's waar er geen retourwaarde is, zoals constructeurs, verhoogde betrouwbaarheid en betere prestaties.
Hoewel Java "aangevinkte" uitzonderingen biedt die helpen bij het voorkomen van niet-verwerkte uitzonderingen tijdens het compileren, kunnen ze niet worden gebruikt voor fouten die onherstelbare fouten zijn. De verwerking van uitzonderingen in C ++ verschilt van die in .NET door het "eindelijk" -blok niet te hebben voor het opschonen van bronnen en zonder enige beperking voor het type uitzondering.