Die generelle Behandlung von Ausnahmen in Bibliotheken steigert nicht etwa die Qualität einer Bibliothek, sondern gefährdet sie eher. Diese auf den ersten Blick gewagte These kann tatsächlich auch begründet werden.
Die ausschließliche Behandlung von erwarteten Ausnahmen führt dazu, dass keine Behandlung von unerwarteten Ausnahmen erfolgt. Unerwarteten Situationen wird somit auch keine ungeeignete Behandlung zuteil. Die Weitergabe einer unerwarteten Ausnahme an die nächste ausnahmenbehandelnde Instanz erhöht die Transparenz und verbessert die Fehlersuche.
Fehler durch die generelle Ausnahmenbehandlung
Der Versuch, eine temporäre Datei anzulegen, ohne eine bereits existierende Datei zu überschreiben, erfordert auf jeden Fall eine Ausnahmenbehandlung. Denn auch wenn vor der Erzeugung geprüft wurde, ob keine gleichnamige Datei existiert, kann im Moment der Erzeugung dennoch eine gleichnamige Datei existieren, wenn diese zwischenzeitlich zwischen beiden Operationen erstellt wurde.
Deshalb ist es notwendig, mehrere Versuche zu unternehmen, um eine temporäre Datei anzulegen, ohne eine bestehende Datei zu überschreiben. Dies funktioniert sehr gut mit Hilfe einer Schleife. Der Schleifenzähler kann dabei in den Dateinamen eingebaut werden. Behandelt man nun innerhalb der Schleife alle möglichen Ausnahmen (durch bloßes Ignorieren), ist dies für die folgenden Fälle nicht korrekt:
- Die übergebenen Argumente sind nicht korrekt.
- Die Pfadangabe ist zu lang.
- Das Verzeichnis existiert nicht.
- Es ist keine Schreibberechtigung für das Verzeichnis vorhanden.
Im schlimmsten Fall resultiert diese falsche, generelle Behandlung von Ausnahmen in einer prozessorauslastenden Endlosschleife.
Wann ist die generelle Ausnahmenbehandlung erlaubt?
Die generelle Ausnahmenbehandlung ist dann erlaubt, wenn es darum geht, Ausnahmen in Form einer Fehlermeldung zu behandeln. Dies ist meist in Anwendungen der Fall. Befindet sich die Implementierung von Benutzeroberflächen in einer Bibliothek, kann die generelle Ausnahmenbehandlung auch in der Bibliothek erfolgen.
Schreiben Sie einen Kommentar
Sie müssen angemeldet sein, um einen Kommentar abzugeben.