&reftitle.examples; Unten können wir ein Beispiel dafür sehen, wie die Fehlercode-Funktionen in PHP benutzt werden. Wir definieren eine Fehlerfunktion, die die Information unter Verwendung des XML-Formates in einer Datei speichert und diese per E-Mail dem Entwickler sendet, wenn ein schwerer Fehler in der Programmlogik auftritt. Fehlerbehandlung in einem Script 'Fehler', E_WARNING => 'Warnung', E_PARSE => 'Parser-Fehler', E_NOTICE => 'Hinweis', E_CORE_ERROR => 'Kern-Fehler', E_CORE_WARNING => 'Kern-Warnung', E_COMPILE_ERROR => 'Kompilierungsfehler', E_COMPILE_WARNING => 'Kompilierungswarnung', E_USER_ERROR => 'Benutzerfehler', E_USER_WARNING => 'Benutzerwarnung', E_USER_NOTICE => 'Benutzerhinweis', E_STRICT => 'Laufzeitwarnung', E_RECOVERABLE_ERROR => 'Abfangbarer fataler Fehler' ); // Satz von Fehlern für welche ein Eintrag gespeichert wird. $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); $err = "\n"; $err .= "\t" . $dt . "\n"; $err .= "\t" . $errno . "\n"; $err .= "\t" . $errortype[$errno] . "\n"; $err .= "\t" . $errmsg . "\n"; $err .= "\t" . $filename . "\n"; $err .= "\t" . $linenum . "\n"; if (in_array($errno, $user_errors)) { $err .= "\t" . wddx_serialize_value($vars, "Variablen") . "\n"; } $err .= "\n\n"; // Zum Test: // echo $err; // Speicher den Fehler im Log und schicke mir eine E-Mail falls es ein kritischer Benutzerfehler ist. error_log($err, 3, "/usr/local/php4/error.log"); if ($errno == E_USER_ERROR) { mail("phpdev@example.com", "Critical User Error", $err); } } function distance($vect1, $vect2) { if (!is_array($vect1) || !is_array($vect2)) { trigger_error("Falsche Parameter, Arrays erwartet", E_USER_ERROR); return NULL; } if (count($vect1) != count($vect2)) { trigger_error("Die Vektoren müssen die selbe Dimension besitzen.", E_USER_ERROR); return NULL; } for ($i=0; $i ]]>