In den Kapiteln dieser Learning Unit geht es um die Behandlung von Fehlern sowie dem Schreiben von automatisierten Tests. Aber zunächst befassen wir uns damit, was ein Fehler ist und welche Arten davon wichtig sind fürs Programmieren.
Bei der Programmerstellung wird die Syntax der Programmiersprache nicht eingehalten. So können
vor
statt for
), def a_method(x))
) Der Compiler bzw. Interpreter meldet diese Fehler VOR der Ausfühung des Programms.
Bei einem funktionalen Fehler wird ein Teil des Codes nicht resp. falsch ausgeführt. In diesem Fall sprechen wir von einer Ausnahme resp. Exception. Solche Fehler können im Programm abgefangen und behandelt werden. Ein Beispiel dafür ist die Division durch 0. Ein weiteres Beispiel ist der Zugriff auf eine nicht verfügbare Ressource (z.B. eine Datei). Der Umgang mit funktionalen Fehlern behandeln wir in dieser Learning-Unit Exception.
Bei einem logischen Fehler läuft der Code wohl korrekt ab, aber die Datenverarbeitung führt nicht zum erwarteten Ergebnis. Dies muss in der Programmlogik sichergestellt und nötigenfalls korrigiert werden. Das Vermeiden von logischen Fehlern kann durch das Testen dieser Logik erreicht werden. Als Beispiel sei hier die Klasse BankAccount
genannt, die Sie aus der LU01 kennen und deren Saldo nicht negativ sein darf (d.h. kein Kredit resp. Überbezug). Wie man dies mittels automatisierten Unit Tests sicherstellt, behandeln wir im Modul 450.