Terug naar begrippenlijst

Exception

Een exception (in het Nederlands vaak vertaald als ‘uitzondering’ of ‘foutmelding’) is een signaal binnen een programma of applicatie dat er iets misgaat tijdens het uitvoeren van de code. Het is de manier waarop software zegt: “Ho, dit ging niet zoals gepland.” Het kan iets kleins zijn (een bestand dat niet gevonden wordt) of iets groters, zoals een database die offline is. In plaats van meteen vast te lopen, gooit het systeem een exception – een soort digitale hand – in de lucht waarmee de code zegt: “Hier moet even aandacht naartoe.”

Geschreven door Thijn de Haas

Zwaaiende emoji

Thijn Lead developer

Meer over Thijn

Inhoudsopgave

Als je code struikelt over iets onverwachts

Exceptions ontstaan als je software iets probeert te doen wat niet lukt. Denk aan:

  • Delen door nul
  • Een bestand proberen te openen dat niet bestaat
  • Een verkeerde waarde in een API-aanroep
  • Geen internetverbinding op het moment van een verzoek

In plaats van stilletjes te crashen, gooit het programma een exception zodat jij als developer (of je systeem) weet: hier moeten we wat mee doen.

Beter vangen dan crashen

Gelukkig hoef je een exception niet zomaar te laten gebeuren. In de meeste programmeertalen kun je fouten ‘vangen’ met zogeheten try-catch-blokken. De software probeert iets (try), en als het misgaat, vangt het de fout (catch) en bepaalt het zelf wat er moet gebeuren.

Zo voorkom je dat een klein probleem meteen je hele systeem platlegt. Denk aan:

Goede foutafhandeling is goud waard – zeker als je werkt aan betrouwbare, stabiele software.

Niet negeren, maar begrijpen

Heb je te veel exceptions? Dan is er vaak iets structureel mis. En negeer je ze, dan loop je het risico op rare bugs, instabiele gebruikerservaringen of gemiste signalen. Daarom is het slim om exceptions te monitoren met tools zoals Sentry, Bugsnag of Raygun, zodat je weet waar het fout gaat – nog vóór de gebruiker er last van heeft. Een exception is geen vijand, maar een waarschuwing met een knipoog.

Veelgestelde vragen

Niet helemaal. Een exception is een symptoom, het gevolg van iets wat misgaat. Een bug is de onderliggende fout in de code die die exception veroorzaakt.

Dan kan je app stoppen met werken. In productieomgevingen is dat iets wat je koste wat het kost wilt voorkomen.

Idealiter wel. Al zijn er ook globale foutafhandelingen mogelijk, is het veiliger (en gebruiksvriendelijker) om specifieke fouten bewust te vangen.

Ja, afhankelijk van je programmeertaal en omgeving. Denk aan NullReferenceException, IOException, TimeoutException – elk met hun eigen betekenis en oorzaak.

Thijn de Haas Lead developer

Meer over Thijn

Mijn programmeeravontuur begon rond mijn twaalfde, toen ik ontdekte dat je met code vrijwel alles kunt maken. Ik begon met het bouwen van kleine projecten en startte al snel mijn eigen hostingdienst, wat me veel leerde over maatwerkcode, serverbeheer en het koppelen aan websites. Deze kennis pas ik nu dagelijks toe in mijn werk aan websites en applicaties.

Als student Applicatieontwikkelaar liep ik drie stages bij Wux, waarbij ik tijdens de eerste stage mijn eerste bedrijf startte, deels op advies van Bo. Deze ervaringen vormden het fundament van mijn rol als lead developer en mede-eigenaar van Wux. Met een constante interesse in nieuwe technieken en het meedenken naar de beste oplossingen, zet ik mijn expertise dagelijks in om complexe vraagstukken op te lossen samen met mijn team.

Twee mannen in overleg tijdens het werk achter hun computerschermen
Zwaaiende emoji

Thijn Back-end developer

Op zoek naar slimme software-oplossingen die jouw bedrijf efficiënter maken?

Het team van Wux ontwikkelt maatwerk software die aansluit bij jouw behoeften. Neem vandaag nog contact op en ontdek hoe we jouw bedrijf elke dag succesvoller kunnen maken.

Meer over software