-
Exception dans un plugin
Bonjour,
Voici le contexte de mon problème. Je travaille avec zend 1.9 dont la structure a été réalisée avec zend tool. Le truc pratique, c'est la gestion des exceptions, ça marche très bien quand l'exception est levée dans un controller, mais dans un plugin ça m'a l'air plus compliqué. Voici mon constat : lorsque l'exception est levée avent le dispatchLoopStartup() elle est recueillie par l'error handler mais le résultat est ma page "normal" + ma page "d'erreur". et puis après le dispatchLoopStartup() l'exception n'est même catchée. J'ai bien trouvé une bidouille qui consiste à vider ma réponse de ma page "normal" avec les clearHeader et body mais bof bof c'est de la bidouille et puis je suis pas sûr de ne pas avoir des effets de bords (d'ailleurs j'en ai puisque ma view n'est pas réinitialisée ; elle a des attributs qui ont des valeurs désuet)
Voilà j'espère avoir été clair...
Merci !
-
en d'autre termes comment faire un "throw new exception("test") dans un plugin zend ? Le but est que l'error handler gère l'exception est qu'il redirige vers la page d'erreur !
-
bon pour résoudre ce problème, j'ai créé un autre plugin largement inspiré du error handler qui permet de gérer les exceptions dans les plugins voir même du bootstrap. Le principe est plutôt que de lever une exception en faisant un "throw nex Exception()" je dépose l'exception dans une pile accessible par mon plugin qui se charge de la traiter, c'est dire de dispacther vers la page d'erreur.
-
Hello,
Disons que le problématique des plugins c'est leur ordre de chargement si ton plugin est enregistré auprès du front controller avant un autre plugin levant une exception ton plugin ne pourra pas la capter.
C'est pour cela que le plugin d'erreur est parfait pour ce qui ce passe dans les controllers mais pour ce qui se passe dans les plugin eux-même ça ne peut être capté de façon certaine par un autre plugin.