Benutzerdefinierte Fehlermeldungen
Davok`xarden
- php
0 Mathias Brodala0 dedlfix
0 Davok`xarden0 dedlfix
Hi Leute,
Ich habe jetzt im PHP-Manual die Funktion trigger_error() endeckt. Wenn man die jetzt aber in eine eigene Funktion packt und diese Aufruft enthält die Fehlermeldung bei der Angabe von Datei & Zeile die Stelle bei der trigger_error() aufgerufen wurde. Wie wird dort aber die Datei & die Zeile angeben in der Die Funktion aufegerufen wurde?
Bsp. (Ausgabe: Fehler in Zeile 4, Gewüncht: Fehler in Zeile 8):
<?php
// PHP-Code
function func () {
// PHP-Code
trigger_error("Fehler");
// PHP-Code
}
// PHP-Code
func();
// PHP-Code
?>
MFG Davok`xarden
Hallo Davok`xarden.
Ich habe jetzt im PHP-Manual die Funktion trigger_error() endeckt. Wenn man die jetzt aber in eine eigene Funktion packt und diese Aufruft enthält die Fehlermeldung bei der Angabe von Datei & Zeile die Stelle bei der trigger_error() aufgerufen wurde.
Ganz recht. Genau so, als wäre an genau dieser Stelle ein Fehler aufgetreten. Für mehr ist diese Funktion auch nicht gedacht.
Wie wird dort aber die Datei & die Zeile angeben in der Die Funktion aufegerufen wurde?
Gar nicht. Möchtest du nicht vielleicht eher einen eigenen Error-Handler schreiben?
Einen schönen Samstag noch.
Gruß, Mathias
Hi Mathias,
Wie wird dort aber die Datei & die Zeile angeben in der Die Funktion aufegerufen wurde?
Gar nicht. Möchtest du nicht vielleicht eher einen eigenen Error-Handler schreiben?
Nein, will ich auch nicht. Z.B.: Will ich mir eine Klasse schreiben die Daten verwaltet dei in einem Formular mit <input type="file">
hochgeladen werden verwaltet. In meiner Klasse überprüfe ich jetzt ob die Datei hochgeladen wurde:
if (!isset($_FILES['input_name']) {
trigger_error("Die angegebene Datei wurde nicht hochgeladen");
}
Nun möchte ich wie in mienem 1. Post beschrieben Datei & Zeile des Methodenaufrufs angezeigt bekommen da das was ich standartmäßig bei Error-Handler in meinem Fall sinnlos wäre.
MFG Davok`xarden
echo $begrüßung;
Wie wird dort [bei trigger_error()] aber die Datei & die Zeile angeben in der Die Funktion aufegerufen wurde?
Dazu müsstest du den debug_backtrace() befragen. Allerdings lohnt es sich nicht, dies jedes Mal bei beim Aufruf von trigger_error() mit einzubauen. Dafür bietet sich als zentrale Instanz ein (von Mathias schon erwähnter) Error-Handler an.
echo "$verabschiedung $name";
Hi dedlfix,
Dazu müsstest du den debug_backtrace() befragen. Allerdings lohnt es sich nicht, dies jedes Mal bei beim Aufruf von trigger_error() mit einzubauen.
Benutze jetzt das. Und rufe anstannt bei jedem Trigger-Error das ganze bei Funktions-anfang einmal auf. Aber wie gebe ich diese daten jetzt an trigger-error weiter. Also das man z.B. mit @functionname() die Fehlermeldungen unterbinden kann?
MFG Davok`xarden
echo $begrüßung;
Benutze jetzt das. Und rufe anstannt bei jedem Trigger-Error das ganze bei Funktions-anfang einmal auf. Aber wie gebe ich diese daten jetzt an trigger-error weiter. Also das man z.B. mit @functionname() die Fehlermeldungen unterbinden kann?
Mit dem Verständnis des Geschriebenen habe ich einige Probleme. Ich versuche mal darauf zu antworten, soweit ich es verstanden habe.
Wenn du innerhalb eines Error-Handlers Fehler, die von mit @ dekorierte Funktionen geworfen wurden, erkennen willst, musst du fragen, ob error_reporting() den Wert 0 zurückliefert.
echo "$verabschiedung $name";
Hi dedlfix,
Jo Thx das hab ich gemeint. Wusste nicht das 'error_reporting()' auch einen Wert zurückgibt. Werde ma später wenn ich Zeit hab mein Fehler-Funktion hochladen falls jemand ma die selben Probleme hat.
MFG Davok`xarden