Uitzonderingsafhandeling is de logica in een automatisering die bepaalt wat er moet gebeuren als er iets misgaat. Een stap mislukt, een invoer klopt niet, of een externe dienst reageert niet op tijd. In plaats van dat de hele workflow crasht, vangt de automatisering het probleem op en reageert er gecontroleerd op.
Stel je een sorteerlijn voor pakketten voor. De meeste dozen glijden er gewoon doorheen, maar af en toe heeft er één een verkeerde vorm of een gescheurd label. Een goede lijn loopt niet vast; hij duwt die doos op een zijspoor zodat een mens hem kan controleren, en de rest blijft doorlopen. Uitzonderingsafhandeling is dat zijspoor. Het kan herhaallogica starten bij een tijdelijke hapering, of een hardnekkig item naar een dead-letter queue sturen zodat er niets stilletjes verdwijnt.
De kern is de reactie laten passen bij de oorzaak. Een time-out die zichzelf meestal herstelt is een nieuwe poging waard; een verkeerd opgemaakt record nooit, dus opnieuw proberen verbrandt alleen rekenkracht en kun je beter apart zetten voor controle. Dat vertakken regel je vaak met conditionele logica die het type fout afleest en een pad kiest.
Het doel is veerkracht, geen perfectie. Sommige fouten zijn het waard om opnieuw te proberen met exponentiële backoff, andere kun je beter overslaan en doorgaan, en een enkele moet stoppen en iemand waarschuwen. De valkuil is fouten opvangen en er vervolgens niets nuttigs mee doen, waardoor ze verdwijnen in een log dat niemand leest. In combinatie met goede monitoring wordt elke fout zichtbaar in plaats van verborgen.
Bij TopDevs bouwen we uitzonderingsafhandeling vanaf het begin in elke workflow, zodat de automatisering van een klant hoorbaar en veilig faalt in plaats van op de achtergrond stuk te lopen waar niemand het ziet.