Uitzonderingen onderzoeken en hoe uitzonderingen worden gebruikt
- 6 minuten
Eerder in deze module hebt u geleerd dat runtimefouten in C# uitzonderingen worden genoemd en dat u ze moet 'ondervangen' voordat ze uw toepassing vastlopen. Echt niet? Het vangen van uitzonderingen voordat ze uw toepassing kunnen crashen klinkt meer als een videogame dan het schrijven van een toepassing. Wat betekent het precies om een uitzondering te "vangen"? Om die vraag te beantwoorden, moet u eerst eens kijken wat een uitzondering is.
Wat zijn uitzonderingen?
Hier volgt een formelere definitie die beschrijft wat een uitzondering is en hoe een uitzondering wordt gebruikt in een C#-toepassing:
In C# worden fouten in het programma tijdens runtime doorgegeven via het programma met behulp van een mechanisme dat uitzonderingen wordt genoemd. Uitzonderingen worden gegenereerd door code die een fout tegenkomt en wordt gedetecteerd door code die de fout kan corrigeren. Uitzonderingen kunnen worden gegenereerd door de .NET-runtime of door code in een programma. Uitzonderingen worden vertegenwoordigd door klassen die zijn afgeleid van Uitzondering. Elke klasse identificeert het type uitzondering en bevat eigenschappen met details over de uitzondering.
Belangrijk
Voor deze training is geen grondige kennis van .NET-klassen vereist. Maak u geen zorgen als deze definitie een beetje verwarrend is. U kunt uitzonderingen in uw code gebruiken zonder een grondige kennis van klassen.
De documentatie van Microsoft over uitzonderingen wordt uitgebreid beschreven. Deze definitie bevat echter de informatie die u nu nodig hebt. In het bijzonder moet u twee dingen begrijpen:
- U moet weten wat uitzonderingen zijn.
- U moet weten hoe u uitzonderingen gebruikt in uw toepassingen.
U kunt een uitzondering beschouwen als een variabele met extra mogelijkheden. U kunt hetzelfde type dingen doen met uitzonderingen die u met variabelen doet, bijvoorbeeld:
- U kunt verschillende soorten uitzonderingen maken.
- U hebt toegang tot de inhoud van een uitzondering.
Wat betekent het om een uitzondering te 'gooien' en 'vangen'?
De termen 'throw' en 'catch' kunnen worden uitgelegd door de definitie van een uitzondering te evalueren.
In de tweede zin van de definitie staat : 'Uitzonderingen worden gegenereerd door code die een fout tegenkomt en die wordt gedetecteerd door code die de fout kan corrigeren'. In het eerste deel van deze zin wordt aangegeven dat uitzonderingen worden gemaakt door de .NET-runtime wanneer er een fout optreedt in uw code. Het tweede deel van de zin geeft aan dat u code kunt schrijven om een uitzondering te vangen die is gegenereerd. Bovendien kan de code die de uitzondering onderschept, worden gebruikt om een corrigerende actie te voltooien, hopelijk om de situatie te beperken die wordt veroorzaakt door de code die tot de fout heeft geleid. Met andere woorden, u kunt code schrijven die uw toepassing beveiligt wanneer er een fout optreedt.
Nadat u die tweede zin van de definitie hebt geƫvalueerd, weet u het volgende:
- Er wordt tijdens runtime een uitzondering gemaakt wanneer uw code een fout produceert.
- De uitzondering kan worden behandeld als een variabele met enkele extra mogelijkheden.
- U kunt code schrijven die toegang heeft tot de uitzondering en corrigerende maatregelen neemt.
Het resterende gedeelte van de definitie geeft aan dat als de .NET-runtime een fout detecteert, de uitzondering wordt gegenereerd. De uitzondering die wordt gegenereerd, bevat informatie over de fout die is opgetreden. Uw code kan een uitzondering ondervangen en het probleem oplossen met behulp van de informatie die is opgeslagen in de uitzondering.
Samenvatting
Hier volgen enkele belangrijke dingen die u in deze les moet onthouden:
- Uitzonderingen worden gebruikt in C# om fouten tijdens runtime door te geven en worden vertegenwoordigd door klassen die zijn afgeleid van de
Exceptionklasse. - Uitzonderingen worden gegenereerd door code die een fout tegenkomt en wordt gedetecteerd door code die de fout kan corrigeren.
- Wanneer er een uitzondering wordt opgetreden, heeft code toegang tot de inhoud en neemt u corrigerende maatregelen om de fout te verhelpen.
- De .NET-runtime genereert uitzonderingen wanneer er een fout wordt gedetecteerd en de uitzondering bevat informatie over het type fout dat is opgetreden.
Kennis testen
Feedback
Is deze pagina nuttig?
No
Hulp nodig bij dit onderwerp?
Wilt u Ask Learn gebruiken om iets te verduidelijken of u door dit onderwerp te leiden?