Jaroslav Jablonski: Rückgabewerte und Fehlerbehandlung allgemein bzw. am Beispiel

Beitrag lesen

  1. Der Dateipfad existiert nicht. Was gibt dann die Funktion zurück?

Einen falschen Wert, kombiniert mit einer Fehlermeldung, die man abfragen kann.

  1. Dateipfad existiert, dass File ist aber leer bzw. enthält nur leere Einträge?

Leeres File: wie 1.
Leere Einträge: leeres Array.

Dass die Funktion ->get_table_as_list_of_hash() in Fall 1. oder 2. dann selbst anfängt zu sprechen wie mit
echo "file nicht vorhanden" oder echo "file leer" scheint mir nicht besonderes glücklich.

Sprechen nur in Form von abfragbaren Fehlermeldungen. Man kann noch bei der instantiierung ein flag setzen lassen und Warnungen protokollieren bzw. auswerfen (wäre bei einem leeren file evtl. sinnvoll)

Man könnte natürlich auf die Fallunterscheidung 1./2. verzichten und weiß immerhin: entweder ist die Tabelle leer oder sie existiert nicht. Oder man baut weitere Funktionen ein wie

->exists_file()
->is_empty()

Dann würde die Klasse nur einen Teil ihrer Aufgaben erledigen. Sowas wie "wenn file existiert und nicht leer ist, dann instantiiere Klasse" finde ich doof.

Meine Meinung.

~JJ