Een exception is de manier waarop software aangeeft dat er tijdens het draaien iets onverwachts gebeurt. Als code iets probeert wat niet lukt, zoals delen door nul, een bestand lezen dat er niet is, of een dienst aanroepen die offline is, gooit hij een exception. Dat is een signaal dat zegt dit ging mis, los dit alsjeblieft op.

Stel je een rookmelder voor die afgaat in een keuken. De melder blust het vuur niet zelf, maar hij onderbreekt alles en vraagt aandacht zodat iemand kan reageren voordat het erger wordt. Een exception doet binnen een programma precies hetzelfde. Goed gebruikt voorkomt hij dat een klein probleem stilletjes uitgroeit tot een fatal error die de hele app onderuithaalt.

Wat je daarna doet, telt. Met goede error handling vangt de software de exception op, logt hem, toont de gebruiker een duidelijke melding en herstelt waar het kan. Misschien probeert hij een betaling opnieuw, valt hij terug op een eerder opgeslagen waarde, of vraagt hij de gebruiker netjes het straks nog eens te proberen. Genegeerde of weggemoffelde exceptions, die stilletjes verstopt zitten in een leeg catch-blok, zijn een van de meest voorkomende bronnen van verwarrende bugs, omdat het programma doorgaat alsof er niets is gebeurd terwijl de echte oorzaak onzichtbaar blijft.

Elke taal noemt ze net iets anders, maar het idee is hetzelfde in Java, Python, JavaScript en de rest. Een exception is een gestructureerde manier om te zeggen hier ging iets stuk, en gestructureerde fouten zijn veel makkelijker te traceren dan mysterieuze.

Bij TopDevs bouwen we duidelijke exception-afhandeling vanaf het begin in de systemen van klanten, zodat fouten zichtbaar en herstelbaar zijn in plaats van mysterieus.