Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-05-2009 15:47:46

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Exception dans un view helper -> fatal

Bonjour,

Il y a qqchose que je ne comprends pas.

J'ai codé un ViewHelper.
Pour un raison que je provoque volontairement, mon helper génèrer une exception (avec une classe perso).

Le problème, c'est que normalement, mon errorController gère les exceptions. Hors dans ce cas précis,
J'ai le début de ma vue qui s'affiche avec un Fatal Error à l'endroit de mon helper dans la vue indiquant le message de mon exception et la ligne de mon fichier ou est généré l'exception

Comment expliquer cela ?


----
Gruiiik !

Hors ligne

 

#2 12-05-2009 17:04:46

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Exception dans un view helper -> fatal

Hello,

Je dirais parce que "Fatal Error" et non pas "Exception" donc fin du script sans autre forme de procès.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 12-05-2009 23:29:52

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Exception dans un view helper -> fatal

?? Mon 'throw My_exception' génère un fatal error ?? Je ne te comprends pas..


----
Gruiiik !

Hors ligne

 

#4 13-05-2009 09:00:59

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Exception dans un view helper -> fatal

Tu peux nous envoyer le message d'erreur et la ligne du throw exception ?

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 13-05-2009 09:25:39

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Exception dans un view helper -> fatal

oui, je suis donc dans un view helper :

Code:

if ($sensor === null) {
      throw new My_Sensor_Exception('Impossible de trouvé la configuration de sonde');
}

$sensor vaut donc null.

Le résultat, qqpart dans la vue qui correspond à l'action, (mais pas de layout, rien que la vue de l'action

Code:

Fatal error: My_Sensor_Exception: Impossible de trouvé la configuration de sonde in /usr/local/www/application/lib/My/View/Helper/Sensor.php on line 81

si je génère une expcetion ailleurs (par exemple, je change mon répertoire de modules), j'ai bien mon errorController qui prend en charge avec un affiche complet de mon excpetion (message, stacktrace, etc..)


----
Gruiiik !

Hors ligne

 

#6 13-05-2009 09:45:03

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Exception dans un view helper -> fatal

Hum... c'est effectivement très étrange ton histoire...

Pour diagnostiquer ça, j'aurais tendance à mettre des try/catch autour de l'exception. Tant que le catch est appelé, j'enlève le try/catch et je le mets une étape au dessus (autour de la fonction appelante) pour voir où apparaît la fatal error... (avec un echo quelconque et un exit dans tes catchs successifs).

Hum... oui, c'est potentiellement long et galère.... Au moins tu verras clairement d'où vient la fatal error. Si elle vient du code du ZF, t'es bon pour leur remonter un bug...

Voilà... pas d'autre idée en stock, mais ça sent le try/catch foireux dans le ZF avec un truc bizarre dans le catch...

A+, Philippe
PS : juste pour info, c'est quelle version du ZF ?


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#7 13-05-2009 09:48:23

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Exception dans un view helper -> fatal

version 1.8.0

merci, je vais cherché..


----
Gruiiik !

Hors ligne

 

#8 13-05-2009 10:09:22

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Exception dans un view helper -> fatal

Ca y'est j'ai trouvé. C'est de ma faute, j'oublie le code je fais !

En fait, j'ai une méthode __toString() plus haut que ma fonction ou je lance mon exception, hors, tu n'as pas le droit de généré d'exception dans la méthode __tostring et pour contourner le problème, j'avais ajouté un try catch qui génère un E_USER_ERROR.

J'avais oublié cela...

Merci du coup de main ! Tu avais donc raison, un try catch foireux smile


----
Gruiiik !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages