Daniel Thoma: Rückgabewerte und Fehlerbehandlung allgemein bzw. am Beispiel

Beitrag lesen

Hallo frankx,

Fehlerbehandlung über Rückgabewerte ist meist eine ziemlich unsaubere Angelegenheit. Erstmal musst Du für verschiedene Fehler unterschiedliche Rückgabewerte reservieren oder mit so Hacks wie globalen Fehlervariablen arbeiten und dann wird auch noch der aufrufende Code komplizierter, weil man diese Rückgabewerte abprüfen muss.
Glücklicherweise wurde ein Konzept entwickelt, um das Problem zu umgehen: Exceptions.

Du musst Dir also erstmal überlegen, welche der auftretenden Situationen ein Fehler ist, bei dem (jedenfalls typischerweise) nicht der normale Programmablauf weiter verfolgt werden kann.

Vermutlich ist "Datei leer" in Ordnung und das Programm kann da weiter arbeiten mit einem leeren Array, "Datei existiert nicht" oder sonstige Zugriffsfehler hingegen deuten auf ein Problem, z.B. einen falsch angegebenen Dateinamen hin, müssen also anders behandelt werden --> Wirf in dem Fall eine Exception.
Die PHP-API arbeitet wahrscheinlich in solchen Fällen oft mit Rückgabewerten, sie ist aber auch nicht gerade ein Beispiel für gutes API-Design.

Grüße

Daniel