Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2007, 14h58   #1
Membre du Club
 
Inscription : novembre 2004
Messages : 151
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : novembre 2004
Messages : 151
Points : 69
Points : 69
Par défaut [POO] Traitement des erreurs en try catch, petite question

Salut tout le monde,

Dernièrement j'ai revu ma manière de gérer mes erreurs dans un formulaire ou ailleurs à l'aide des exceptions.
C'est à dire que je fais comme ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
if(isset($_POST['valid']) && $_POST['valid']=="Envoyer"){
        try {
            $commentaire = new Commentaire();
            $commentaire->setDbh($dbh);
            $commentaire->setTitre($_POST['titre']);  
            $commentaire->setCommentaire($_POST['commentaire']); 
            $commentaire->setDateCommentaire(date("Y-m-d"));
            $commentaire->setIdUser(0);
            $commentaire->setMail($_POST['mail']); 
        }
        catch (Exception $e){
            $smarty->assign('erreur',$e->getMessage());
            $smarty->display('commentaire.tpl');
        }
Toutes les erreurs de syntaxe etc etc sont gérées dans mes setters de ma classe et lèvent des exceptions
exemple :
Code :
1
2
3
4
5
6
7
8
9
 
public function setCommentaire($commentaire){
            if(is_string($commentaire)){
                $commentaire = strip_tags($commentaire);
                $commentaire = htmlentities($commentaire);
                $this->commentaire = $commentaire;
            }
            else throw new Exception("Erreur d'insertion commentaire");
        }
J'ai un petit problème en faisant la gestion des erreurs de cette manière, étant donné qu'on lève une exception nouvelle pour chaque erreur, je ne peux afficher qu'une seule erreur à la fois.
C'est moche si jamais l'utilisateur se trompe sur plusieurs champs !

Auriez vous une idée pour pallier à ce problème ?
Pensez vous que cette manière de gérer les erreurs soit mauvaise ?

Merci d'avance
AsQuel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 20h17   #2
Invité régulier
 
Inscription : juin 2004
Messages : 23
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 23
Points : 7
Points : 7
Pour faire ce que tu veux, il faut mettre un try/catch autour de chaque appel à un setter et dans le catch tu ajoutes a ton object $smarty le message de l'exception.

C'est le principe des exceptions, dans un bloc try on passe dans le bloc catch dès que l'on rencontre une exception.
renotm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2007, 08h41   #3
Membre du Club
 
Inscription : novembre 2004
Messages : 151
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : novembre 2004
Messages : 151
Points : 69
Points : 69
ouep merci
j'en ai discuté hier soir avec un pote et il m'a répondu pareil !
AsQuel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h22.


 
 
 
 
Partenaires

Hébergement Web