Een paar dagen terug creëerde ik onbewust een "gevaarlijke" situatie in een applicatie dat ik aan het bouwen ben op een online aPaaS platform.
Wat was de "gevaarlijke" situatie? Ik maakte een berekening variable_1 / variable_2
Waarom is dit "gevaarlijk"? variable_2 kan soms de waarde 0 bevatten en daarom een error veroorzaken.
Het vervelende in dit geval was, dat de error logging van dit platform, bij dit type fout, tekort schoot. De applicatie is ondertussen aardig complex en het enige bericht dat ik kreeg was "Failed" bij het uitvoeren van een bepaalde taak, waarbij tientallen berekeningen worden gedaan. Samen met hulp van 2 ontwikkelaars van het platform zelf, zijn er 2 dagen overheen gegaan om de oorzaak te achterhalen.
Dit laatste stukje is niet heel relevant, maar gaf mij wel aanleiding tot mijn vragen:
Wat was de "gevaarlijke" situatie? Ik maakte een berekening variable_1 / variable_2
Waarom is dit "gevaarlijk"? variable_2 kan soms de waarde 0 bevatten en daarom een error veroorzaken.
Het vervelende in dit geval was, dat de error logging van dit platform, bij dit type fout, tekort schoot. De applicatie is ondertussen aardig complex en het enige bericht dat ik kreeg was "Failed" bij het uitvoeren van een bepaalde taak, waarbij tientallen berekeningen worden gedaan. Samen met hulp van 2 ontwikkelaars van het platform zelf, zijn er 2 dagen overheen gegaan om de oorzaak te achterhalen.
Dit laatste stukje is niet heel relevant, maar gaf mij wel aanleiding tot mijn vragen:
- Waarom geven programmeertalen een error of een andere type resultaat wanneer er gedeeld wordt door 0?
- Wat is de rede dat programmeertalen niet standaard bij deling door 0, 0 als resultaat teruggeven?
- Scheelt dit niet een hoop bug-fixing en extra controle code ("if var == 0 then ...")?