![]() |
[PHP] Fehler in der Fehlerbehandlung? - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html) +--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html) +--- Thema: [PHP] Fehler in der Fehlerbehandlung? (/thread-10802.html) |
[PHP] Fehler in der Fehlerbehandlung? - Zwoetzen - 05.09.2008 [MyBB 1.4] Hi Leutz, stehe grad vor einem Problem, und habe entweder einen Denkfehler drin, oder seh den Fehler vor lauter Code nicht ![]() Grundidee: Ich möchte nen Script erstellen, dass es bestimmten Usern aus meinem Forum erlaubt, spezielle Dateien hochzuladen. Diese Dateien besitzen einen XML-Header, den ich auslesen und auswerten will. Soweit so gut. Aktueller Code: PHP-Code: function upload_track($file) { Das Problem: Wenn ich nun eine Datei mit fehlerhaften XML-Header hochlade (syntaktisch nicht korrekt, oder gar nicht vorhanden), so wirft "new SimpleXMLElement($header)" ja einen Fehler (logischerweise). Dieser wird von dem Catch allerdings nicht abgefangen, sondern wird am Ende von MyBB formatiert ausgegeben. Kann mir jemand sagen, wie ich erfolgreich die Fehler des SimpleXMLElements abfangen kann, one dass mir MyBB dazwischen pfuscht? (Als ich das Script noch nicht direkt mit MyBB verbunden hatte, wurde der Fehler abgefangen, seitdem ich das aber jetzt in das MyBB integriert habe, funktioniert das Ding nicht mehr ![]() MfG Zwoetzen EDIT: Was ich gerade festgestellt habe: Obwohl vom MyBB den Fehler abzufangen scheint und die Meldungen formatiert ausgibt, scheint trotzdem meine Fehlerbehandlung durchzulaufen, denn das Script reagiert so, wie es reagieren soll: Datei wird gelöscht, Meine eigene Fehlermeldung wird erfolgreich für den User ausgegeben. RE: [PHP] Fehler in der Fehlerbehandlung? - obelisk - 06.09.2008 Versuche, mit set_error_handler oder set_exception_handler temporär einen eigene ErrorHandling Funktion zu bestimmen. Nach deinem Code stelle wieder den mybb-errorhandler her: PHP-Code: if(version_compare(PHP_VERSION, ">=", "5")) RE: [PHP] Fehler in der Fehlerbehandlung? - Zwoetzen - 08.09.2008 Danke für deine Antwort ![]() Hatte gestern auch nochmal selbst nach einer Lösung im INet gesucht, und hab dann irgendwo gelesen, dass man mit einem @ vor dem new die Warnings unterdrücken kann (und bei dem XML-Objekt kamen nur Warnings raus, sodass es eben nun passt) Habe also nun einfach die eine Zeile abgeändert zu: PHP-Code: $xml = @new SimpleXMLElement($header); Trotzdem Danke für deine Antwort, vielleicht brauch ich das mit dem Error/Exception Handler woanders mal ![]() RE: [PHP] Fehler in der Fehlerbehandlung? - BroatcasT - 11.09.2008 solltest du dennoch nicht machen das ist ja nicht sin und zweck der sache, lieber solltest du die fehler beheben... denn nur weil er nicht mehr zu sehen ist heist das nicht das er nicht noch da ist... das kann auch sehr gefärlich werden |