Op dinsdag 28 mei 2002 21:51 schreef Don Facundo het volgende:
[..]
Dat is dus behoorlijk smerig. Je wilt dus vanaf de 'veroorzaker' naar errorhandler springen (melding geven) en dan weer terug naar de code? Spagetticode heet dat. Een error betekent dat er iets fout gaat, en dus ga je niet verder volgens de normale route.
Waarom is dat smerig in alle gevallen? Ik zeg toch: wanneer de error niet terminaal is voor je programma, dus wanneer je dan die call skipt, maar de rest moet doorgaan. Dit was een vraag in de C# newsgroup van MS van iemand die dit moest bouwen en die had geen andere keus dan om elke call een try/catch blok te plaatsen.
Je weet overigens ook niet wat spagetticode inhoudt, want dit is het zeker niet. Als ik een error van een api-call in een file wil loggen en daarna door wil gaan met de volgende api-call, dan kan ik dat gemakkelijk in VB, in C# e.d. niet. Wanneer er een fout optreedt is dat niet altijd 'the end has come'-fout, maar soms gewoon 'ok, bump in the road, move along!'
Het is JUIST dat besef dat er verschil is tussen die uitersten, wat doorslaggevend is voor het bouwen van goede error-handling. Jij kapt dus je programma af na iedere simpele error? "Save file" -> Error, save failed, file bestaat al -> exit. ? Ik hoop het niet.