Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PEAR, PECL und Frameworks > [ZendFramework] Zend_Config Fehlerbehandlung
Antwort
 
Themen-Optionen
Alt 07.09.2007, 07:20   Nach oben    #1
robo47
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.188
Standard [ZendFramework] Zend_Config Fehlerbehandlung

Mir ist gerade folgendes widerfahren und zwar lese ich eine XML-Config über Zend_Config_Xml ein. Was jetzt passiert ist, durch einen Tipfehler in der Config war das XML nicht valide, schön und gut, eigentlich erwarte ich in so nem Fall ne Exception die man abhandeln kann und das wars, aber nicht so bei Zend_Config_Xml. Zend_Config_Xml nutzt simpleXml und schmeißt dann einfach mit ein paar Fehlern um sich.

Zitat:
Warning: simplexml_load_file() [function.simplexml-load-file]: file:///W%3A/workspacePDT/BcmsTest/config.xml:11: parser error : expected '>' in W:\workspacePDT\BcmsTest\library\Zend\Config\Xml.p hp on line 61

Warning: simplexml_load_file() [function.simplexml-load-file]: <type>http</typex> in W:\workspacePDT\BcmsTest\library\Zend\Config\Xml.p hp on line 61

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in W:\workspacePDT\BcmsTest\library\Zend\Config\Xml.p hp on line 61

Warning: Invalid argument supplied for foreach() in W:\workspacePDT\BcmsTest\library\Zend\Config\Xml.p hp on line 65
Wie fange ich sowas vernünftig ab ?
Ein Ansatz wär einen eigenen ErrorHandler zu schreiben, der einfach für normale Fehler eine Exception schmeißt, die ich wiederrum abfangen kann, damit wäre das Problem gelöst und ich könnte das auch an anderer Stelle nutzen und viel einfacher Fehler abfang, wenn komponenten genutzt werden, die nicht ganz so toll mit Exceptions arbeiten wie das gewünscht ist.

Gute Idee ? Schlechte Idee ? Kann man es besser lösen ?
Der Verzicht auf Zend_Config_Xml steht für mich erstmal nicht zur Debatte

mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.09.2007, 13:51   Nach oben    #2
pmayer
Neuer Benutzer
 
Registriert seit: 23.06.2007
Beiträge: 13
Standard

Dieser einfache patch sollte das doch erledigen
PHP-Code:
--- Xml_old.php 2007-09-07 13:48:46.000000000 +0200
+++ Xml.php     2007-09-07 13:49:23.000000000 +0200
@@ -58,+58,@@
             throw new 
Zend_Config_Exception('Filename is not set');
         }
 
-        
$config simplexml_load_file($filename);
+        if (!@
$config simplexml_load_file($filename)) {
+               throw new 
Exception ("File '$filename' couldn't be loaded by SimpleXml");
+        }
 
         if (
null === $section) {
             
$dataArray = array(); 
pmayer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.09.2007, 14:32   Nach oben    #3
robo47
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.188
Standard

Oh , das ist natürlich auch eine Möglichkeit, dann werde ich das mal nutzen.

Vielen Dank.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.09.2007, 19:41   Nach oben    #4
pmayer
Neuer Benutzer
 
Registriert seit: 23.06.2007
Beiträge: 13
Standard

Evtl. könntest du da ja im Issue Tracker ein Ticket eröffnen und das unter "Enhancement" (wenn es diesen Punkt den gibt) rein geben, weil das wahrscheinlich mehrere Leute ärgern wird.

MfG Peter
pmayer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[ZendFramework] Weiterleiten aus einem Plugin robo47 PEAR, PECL und Frameworks 8 12.09.2007 11:21
[ZendFramework] Variablen für Template zuweisen kampfgnom PEAR, PECL und Frameworks 6 08.07.2007 01:08
[Grundsatzfrage] Exceptions bzw. Fehlerbehandlung bobby PHP-Programmierung 4 26.03.2007 23:54
[Rezension] Professionelle PHP 5-Programmierung, Ben Literatur 11 27.07.2006 20:48
Fehlerbehandlung klappt nicht flupsi Datenbanken 12 01.04.2006 03:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:33 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44