Hallo in die Runde.
wenn man etwas umfangreichere Scripte schreibt, gibt’s ja ne ganze MEnge, was zur Laufzeit so schief gehen kann: Variablen nicht mehr da, Limit überschritten, Event kann nicht angelegt/upgedatet werden, nach Löschen & Neuanlegen ist die Objektnummer eines Zielobjekts anders uvm.
Man kann sich sagen „egal, gibt ja ne Fehlermeldung“. Nur nach ein paar Wochen oder Monaten später kann es gut sein, dass einem die nicht mehr so richtig viel sagen …
Baut man eine dezidierte Fehlebehandlung ein, so schreibt man oft X Zeile code, der im Normalfalle nie benutzt wird, weil ja 99% alles läuft.
M.E. wäre daher eine „IPS-zentrale“ Fehlerbehandlung recht sinnvoll. Nun mag sein, dass PHP da einiges anbietet, kenne PHP noch nicht sooo in allen Winkeln, aber da man in der Error-Routine auch Daten von IPS bezüglich der Laufzeitumgebung braucht, kann ich mir denken, dass da etwas IPS-eigenes sinnvoll wäre.
Hat jemand dazu ne Idee/sowa schon gebaut oder wäre es evtl. sinnvoll, in IPS ein eigenes „zentrales“ Errorhandling einzubauen, in welches man dann den „Worst-Case-Code“ hin auslagern kann?
Ich denke da an ein „zentrales/spezielles“ Script (könnte auch 'n eigenes Modul mit Scripten als Childobjekte sein), das mit dem aktuellen Fehlerwert plus Script plus Codezeile aufgerufen wird und das man dann selbst verändern kann.
Evtl. könnte das auch eine Funktion sein, in die andere Funktionen „rein“ können und die im NICHT-Fehlerfalle das Ergebnis der „inneren Funktion“ einfach nach aussen weiter gibt, im Fehlerfalle aber ein paar „individuelle“ Parameter an die Fehlerroutine reicht.
z.B:
statt
$object = IPS_GetObject( $id) ;
Könnte man schreiben
$object = IPS_ERROR( IPS_GetObject( $id) , $PrmArray ) ;
Im Fehlerfalle steht dann in der zentralen Routine das Array $PrmArray zur Verfügung, in das man am Beginn des Scripts alles mögliche zur Fehlerbehandlung einbringen könnte.
Speziell, wenn man Funktionen und Scripte anderen Benutzern zur Verfügungstellen will (ich denke mal an die Zukunft und einen „Drittmarkt“) wäre sowas sicher hilfreich.
Wie ist Eure Meinung?
jwka