Hallo,
fangen wir mal weiter vorne an. Das Code-Snippet von Jax würde in der
"realen" Welt so auch nicht vorkommen.
I.d.R. tritt eine Division durch Null bei der Division zweier Variablen
auf, deren Wert der Compiler zum Zeitpunkt der Compilierung noch gar
nicht kennt.
Hier habe ich gelernt (Dino aus den 80er Jahre mit
Mainframe-COBOL/FORTRAN/ASSEMBLER programmiert), das eine Division durch
Null nicht vorkommen darf. Fertig.
Also könnte ich im Vorfeld prüfen, ob der Divisor ungleich Null ist und
erst dann darf ich die Division durchführen. Das macht man natürlich
nicht bei jeder Division. Klar.
Meistens führt aber eine unglückliche Kombination von Eingabeparametern
dazu, das eine "Division durch Null" auftritt. Somit liegt das Problem
also schon viel früher im Programmcode.
Eine Division duch Null führt in fast allen Programmiersprachen
unweigerlich zum Programmabsturz, da die meisten Laufzeitsysteme prüfen,
ob das CPU-Register "Division durch Null" gesetzt ist und dann das
Programm abbrechen. Somit ist eine umfangreiche Vorabprüfung und eine
vernünftiger Hinweis an den Programmbenutzer notwendig, der ihn darauf
hinweist, das was schiefgelaufen ist.