IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Traitement des erreurs en try catch, petite question


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    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.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    ouep merci
    j'en ai discuté hier soir avec un pote et il m'a répondu pareil !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Traitement des erreurs SQL par Php?
    Par badoumba dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 12/10/2011, 09h43
  2. Réponses: 6
    Dernier message: 30/08/2011, 14h17
  3. Traitement des erreurs/serveur http.
    Par Ren97 dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 28/02/2009, 02h55
  4. Traitement des erreurs avec Tomcat
    Par ingdev dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 14/01/2009, 16h55
  5. Traitement des erreurs 403/401 en réponse aux requetes HTTP
    Par Flodelarab dans le forum Développement
    Réponses: 2
    Dernier message: 03/12/2007, 03h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo