RE: Komplexes Programm - Fehlerbehandlung
Bei einer State-machine-Archtitektur kann sich ein Zustand um die Fehlerbehandlung kümmern. Falls ein Fehler in einem Zustand auftritt, wird nicht mit dem Folgezustand weitergearbeitet, sondern die Fehlerbehandlung durchgeführt. Je nach Fehler könnte z. B. das Programm danach herunterfahren oder mit anderen Parametern weiterarbeiten.
In bestimmten Situationen bietet es sich an, Fehler gleich zu behandeln: Z. B. wenn eine Datei zum Schreiben geöffnet werden soll, könnte der Pfad noch nicht existieren. Wenn also der Fehler "kann Datei nicht erzeugen" auftritt, könnten gleich - ggf. nach Bestätigung durch den Benutzer - die erforderlichen Ordner erstellt werden und dann noch einmal versucht werden, die Datei zu erstellen und zu öffnen. Hier wäre das sofortige Beenden des Programms weniger zweckmäßig.
Es gibt verschiedene Fehler mit unterschiedlichen Schweregraden, die adequat berücksichtigt werden müssen.
Manchmal bietet es sich an, weiterzuarbeiten und den Fehler wie ein Ereignis in eine Log-Datei zu schreiben. Dieses würde man mit einer Queue, die die Ereignisse entgegen nimmt und einer parallel zum Hauptprogramm laufenden Schleife, die die Ereignisse aus der Queue in eine Log-Datei schreibt, umsetzen.
|