Hallo,
@dedlfix:
Danke für deine ausführliche Antwort.
In meinen Verwendungszweck gibt es ansich keine Ausnahmesituation, vor jeder Aktion prüfe nach, ob die Aktion erfolgreich wird oder nicht (ein file_exists() vor einem file read z.b.).
Zwar kann zwischen dem prüfen und dem lesen der Datei, die Datei verschwinden, jedoch müßte ich trotzdem manuell die Exception werfen (throw new Ex..), was bedeuetet, das ich *zweimal* ansich die gleiche Aktion überprüfe.
Einmal davor, und einmal die Aktion selber.
Ich habe mir bereits folgendes überlegt:
In einem rießen großen Array, steht von jeder Klasse und jeder Methode, alle Verfügbaren Fehlermeldungen:
DB
$_errors[1] = array("ERR_DB_CONNECTION_FAILED", "db connection failed", ERR_CRITICAL);
Exec
$_errors[50] = array("ERR_EXEC_ERRORCODE_FALSE", "return code was not 0", ERR_NORMAL;
Sollte nun irgendwo in einer Methode ein Fehler auftreten, gebe ich z.b. die ID 50 zurück:
return 50;
So weiß ich nun anhand des error-arrays + rückgabewert *irgendeiner methode* genau, woher der Fehler kommt und was das genau für ein Fehler ist.
Jedoch leitet darunter stark die Modularität, ich bin immer abhängig von diesen Error-Codes, und besonders sauber scheint mir das auch nicht zu sein.
wie wäre es denn mit einer eigenen Klasse fürs Errorhandling, die dann für jede Methode der anderen Klassen die Ergebnisse (Fehlerwerte) aufnimmt und so abfragbar macht?
Das trennt dann sauber Funtkionsergebnis und Fehlerkanal.
Wie würde so eine Errorhandling Klasse aussehen?
Kann mir darunter nichts vorstellen.
Danke.
Gruß
Kevin
Ein harzliches Glückauf
Tom vom Berg