Uitzondering

Een uitzondering (afkorting van "exceptional event") is een fout of onverwachte gebeurtenis die optreedt terwijl een programma wordt uitgevoerd. Wanneer er een uitzondering optreedt, onderbreekt deze de programmastroom. Als het programma de uitzondering kan afhandelen en verwerken, kan het doorgaan met uitvoeren. Als een uitzondering niet wordt afgehandeld, kan het programma gedwongen worden afgesloten.

Meerdere programmeertalen ondersteunen uitzonderingen, hoewel ze op verschillende manieren worden gebruikt. Uitzonderingen vormen bijvoorbeeld een belangrijk onderdeel van de taal Java en worden vaak gebruikt om de programmastroom te besturen. Java bevat een Exception-klasse met tientallen subklassen, zoals TimeoutException, UserException en IOException. Subklassen zoals IOException bevatten specifiekere uitzonderingen, zoals FileNotFoundException en CharacterCodingException, die kunnen worden "gegooid" als een bestand niet wordt gevonden of de tekencodering van een tekenreeks niet wordt herkend.

Andere talen gebruiken uitzonderingen alleen om fundamentele runtimefouten op te vangen, zoals fouten bij het toewijzen van geheugen of fouten op systeemniveau. Een C++-programma kan bijvoorbeeld de uitzondering bad_alloc gooien wanneer er geen geheugen kan worden toegewezen, en de uitzondering system_error wanneer het besturingssysteem een fout veroorzaakt.

Uitzonderingen afhandelen

Een goed geschreven computerprogramma controleert op uitzonderingen en handelt deze op de juiste manier af. Dit betekent dat de ontwikkelaar moet controleren op waarschijnlijke uitzonderingen en code moet schrijven om deze te verwerken. Als een programma uitzonderingen goed afhandelt, kunnen onverwachte fouten worden gedetecteerd en beheerd zonder dat het programma crasht.

Uitzonderingen worden "gegooid" wanneer ze optreden en worden door andere code in het programma "opgevangen". Ze kunnen expliciet worden gegooid met de instructie throw of impliciet binnen een try-clausule. Hieronder staat een voorbeeld van de syntaxis voor "try / catch" in Java. De volgende code probeert door nul te delen, maar gooit een uitzondering van het type ArithmeticException en retourneert 0 als resultaat.

 1. int a = 11;
 2. int b = 0;
 3. int result = 0;
 4. try {
 5.   int c = a / b;
 6.   result = c;
 7. } catch(ArithmeticException ex) {
 8.   result = 0;
 9. }
10. return result;

Er wordt een uitzondering gegooid op regel 5 (wanneer 11 door 0 wordt gedeeld), dus de rest van de try-instructie (regel 6) wordt niet uitgevoerd. In plaats daarvan wordt de uitzondering op regel 7 opgevangen en wordt een resultaat van 0 geretourneerd.

Bijgewerkt May 6, 2017 door Per C.

quizTest je kennis

What type of file is used for virtual memory?

A
Flat file
0%
B
Swap file
0%
C
Encoded file
0%
D
Compressed file
0%
Correct! Incorrect!     View the Swap File definition.
More Quizzes →

Het Tech Terms computerwoordenboek

De definitie van Uitzondering op deze pagina is een originele definitie geschreven door de auteurs van TechTerms.com. Als je naar deze pagina wilt verwijzen of deze definitie wilt citeren, gebruik dan de groene citatiebalk direct onder de definitie.

Ons doel is om computerterminologie op een begrijpelijke manier uit te leggen. We streven naar nauwkeurigheid en eenvoud bij elke definitie die we publiceren. Als je feedback hebt over deze definitie of een nieuwe technische term wilt voorstellen, neem dan contact met ons op.

De Tech Terms-nieuwsbrief

Verbeter je technische kennis met onze dagelijkse of wekelijkse nieuwsbrief! Abonneer je vandaag nog en ontvang nieuwe termen en quizzen in je inbox.

Schrijf je in voor de gratis TechTerms-nieuwsbrief

Hoe vaak wil je een e-mail ontvangen?

Je kunt je op elk moment uitschrijven of je frequentie wijzigen via de links in elke e-mail. Vragen? Neem contact met ons op.

Let op: de nieuwsbrief wordt in het Engels verzonden.