Re: procedures zusammenfassen/vereinfachen (Totale Anfängerf
12. Nov 2007, 23:11
Apollonius hat es zwar schon geantwortet, aber ich sage es nochmal mit meinen Worten.
Letztendlich geht es hier nur um die saubere Programmierung. Die Frage ist nur ob man sein Programm zusammenbastelt oder programmiert. Das ELSE in CASE ist für den Rest, also alles was übrig bleibt und abgefangen werden soll. Nur ist der Divisor nicht der Rest, sondern eine der Operationen. Wahrscheinlich wird nichts passieren, denn wahrscheinlich wirst du nur die vier Operatoren nutzen. Deshalb wirst du zwar hier keinen Unterschied merken, aber es ist trotzdem nicht richtig. Soll alles was nicht zu den ersten drei Operatoren zugeordnet werden kann geteilt werden? Denn so kann man deinen Code lesen. Alles was mich +, - oder * ist, soll geteilt werden.
Nun zu dem Missbrauch. try/except ist dazu da um unvorhergesehene Fehler abzufangen. Wenn ich ein text in eine TMemo lade, dann kann ich es entweder mit try/except machen, oder ich frage vorher ab ob die Datei existiert? Warum also try/except nutzen wenn ich selbst prüfen kann ob eine Datei da ist. Ich kann trotzdem den Ladevorgang in try/except packen um die Fehler abzufangen die mir beim Programmieren nicht eingefallen sind. Aber ich weiß, daß es eine Datei auch nicht geben kann.
So ähnlich ist es mit Division durch Null. Ich weiß, daß der Fehler vorkommen kann. Wieso muß den Fehler erst das System feststellen, wenn ich auch selbst vorher reagieren kann? try/except solltest du übrigens für alle Operatoren nutzen, denn die Berechnungen können auch den zulässigen Maximalwert überschreiten.
|