Wie bereits in der ersten Tafelübung erwähnt, legen wir in der Systemprogrammierung großen
Wert auf stabile Software und korrekte Fehlerbehandlung.
Deshalb wollen wir jetzt im Folgenden ein bisschen veranschaulichen, was korrekte Fehlerbehandlung
eigentlich ist.
Zur Einführung dafür nenne ich erstmal ein paar Fehler, die während der Programmausführung
auftreten können.
Dazu gehören zum Beispiel, dass die vorhandenen Systemressourcen erschöpft sind.
Das bedeutet, ihr könnt mit malloc keinen zusätzlichen Speicher mehr allokieren, weil
euch das Betriebssystem keinen mehr aushändigen kann, oder ihr könnt nicht mehr in eine Datei
schreiben, einfach weil die Festplatte voll ist, oder ihr habt zum Beispiel das Quote
im ZIP-Bereich und ihr könnt keine weiteren Daten ablegen.
Ein weiterer Grund kann auch eine fehlerhafte Benutzereingabe sein, dass der Nutzer zum
Beispiel sagt, er möchte gerne diese oder jene Datei öffnen, aber diese Datei gibt
es gar nicht.
Eine weitere Art von Fehlern sind solche, die nur von kurzer Dauer sind.
Zum Beispiel kann es sein, dass ihr eine Verbindung zu einem Server aufbauen wollt, der aber
just in diesem Moment nicht verfügbar ist, aber es in wenigen Sekunden vielleicht sein
wird.
Was eine gute Software an der Stelle leisten kann, ist, dass sie zum einen erkennt, wann
eine Fehlessituation aufgetreten ist, und dass sie der Fehlessituation entsprechend
handelt und gegebenenfalls den Nutzer darüber informiert, was weshalb schiefgegangen ist.
Und um das zu veranschaulichen, haben wir hier zwei Beispielszenarien.
Im ersten Szenario stellen wir uns vor, wir haben einen Webbrowser, in den ein Nutzer
eine ungültige URL eingibt.
Jetzt stellt sich die Frage, wie sieht Fehlerbehandlung mit Augenmaß für dieses Szenario aus?
Eine mögliche Fehlerbehandlung könnte zum Beispiel so aussehen, dass der Browser den
Nutzer durch eine Fehlermeldung darauf hinweist, dass die von ihm eingegebene URL nicht gültig
ist oder dass die entsprechende Domäne nicht verfügbar ist.
Vor allem aber sollte der Browser nicht abstürzen und sich auch nicht einfach beenden, sondern
weiterlaufen.
Im zweiten Beispiel haben wir ein Kopierprogramm, das zum Beispiel dafür eingesetzt werden
kann, ein Backup von lokal liegenden Dateien zu erstellen.
Und hier gehen wir davon aus, dass dieses Programm Probleme hat, eine Quelldatei zu
öffnen, weil ihr zum Beispiel die notwendigen Rechte fehlen.
In diesem Beispiel sieht die Fehlerbehandlung so aus, dass auch dieses Kopierprogramm wieder
eine Fehlermeldung ausgeben sollte, was schiefgegangen ist.
Das bedeutet an dieser Stelle, es könnte die Datei X nicht geöffnet werden und aus
welchem Grund.
Anschließend kann sich das Programm beenden, weil der einzige Zweck, zu dem es gestartet
wurde, nicht erreicht werden kann.
Das bedeutet, das Programm hat keine weitere Möglichkeit sinnvolle Dinge zu tun.
An dieser Stelle wird vielleicht auch nochmal klar, warum es so wichtig ist, dem Nutzer
eine anständige Fehlermeldung zu präsentieren.
Würde dieses Kopierprogramm, das zum Beispiel zum Erstellen von Backups verwendet wird,
keine Fehlermeldung anzeigen, würde der Nutzer davon ausgehen, dass er ein komplettes Backup
erstellt hat und würde für den Fall, dass er zu einem späteren Zeitpunkt sein Backup
wieder einspielen möchte, feststellen, dass nicht alle Dateien, die er sichern wollte,
tatsächlich vorhanden sind.
Präsentiert dieses Kopierprogramm jedoch eine Fehlermeldung, weiß der Nutzer, dass
das Backup nicht vollständig ist und er hat sogar noch die Möglichkeit, entsprechend zu
Zugänglich über
Offener Zugang
Dauer
00:10:19 Min
Aufnahmedatum
2020-05-13
Hochgeladen am
2020-05-13 09:26:24
Sprache
de-DE