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] Quand utiliser les Exceptions?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Points : 73
    Points
    73
    Par défaut [POO] Quand utiliser les Exceptions?
    Bonjour,

    Je programme depuis un petit moment en PHP5, mais ne maitrise pas encore les exceptions. Biensûr, je sais lever une exception, la récupérer et la traiter (affichage, archivage etc).

    Mon soucis est tout autre : quand les utiliser? Je vois 2 cas importants :
    - Pour des erreurs "système" : requête SQL erronée, fichier inexistant, connection à la BDD impossible, ...
    - Pour les erreurs faites par l'internaute : formulaire incomplet, données mal saisies, ...

    En effet, mélanger les 2 ne me semble pas une bonne idée : les erreurs systèmes n'ont pas à être clairement affichées pour l'internaute, alors que les erreurs qu'il a commis doivent lui être signalées et expliquées.

    Pourriez-vous me dire quelle utilisation vous faites des exception? Et s'il vaux mieux utiliser les exceptions ou les bonnes vieilles erreurs, dans les cas cités ci-dessus?

    Merci d'avance!

  2. #2
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    Moi je me suis fait ma classe d'erreur, qui traite le tout pêle mêle.

    Mais en faisant cette classe, tu peux très bien décider que les fatal error seront stocké aillleur...

    Perso, j'affiche tout, mais des messages que je formate entièrement, sans explications serveur (en effet, il n'y a que les développeurs ou les hacker pour les comprendre....), comme ca si ca plante, l'internaute a une explication (que ce soit de sa faute ou celle du système....), mais pas trop non plus, histoire de ne pas révéler de failles...

    Moi je trouve que plus il y a d'explications, mieux c'est.

    Maintenant, ca dépend aussi de l'organisation de tes classes : perso je préfère multiplier les classes simple, que d'en faire une compliqué : ainsi je me retrouve "typiquement" avec des classes "systèmes", et d'autres purement "utilisateur", ce qui permet là aussi de faire une différenciation des erreurs....

    Voilà, à +

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ChriGoLioNaDor
    Bonjour,

    Je programme depuis un petit moment en PHP5, mais ne maitrise pas encore les exceptions. Biensûr, je sais lever une exception, la récupérer et la traiter (affichage, archivage etc).

    Mon soucis est tout autre : quand les utiliser? Je vois 2 cas importants :
    - Pour des erreurs "système" : requête SQL erronée, fichier inexistant, connection à la BDD impossible, ...
    - Pour les erreurs faites par l'internaute : formulaire incomplet, données mal saisies, ...

    En effet, mélanger les 2 ne me semble pas une bonne idée : les erreurs systèmes n'ont pas à être clairement affichées pour l'internaute, alors que les erreurs qu'il a commis doivent lui être signalées et expliquées.

    Pourriez-vous me dire quelle utilisation vous faites des exception? Et s'il vaux mieux utiliser les exceptions ou les bonnes vieilles erreurs, dans les cas cités ci-dessus?

    Merci d'avance!
    Il y a un bon tutorial sur Dev à ce sujet :
    Exceptions et PHP5.

    Je connais plutôt bien le modèle orienté objet PHP5 et je pense que le gestionnaire d'erreur de PHP doit être utilisé, même dans le cadre de la conception orienté objet.

    Le rôle fondamental des exceptions est de traiter des erreurs exceptionnelles : Les exceptions ne remplacent pas le gestionnaire d'erreur interne de PHP. A la rigueur, on peut considèrer qu'elles le complète au niveau syntaxique.

    Donc "mélanger" les exceptions et le gestionnaire d'erreur de PHP , ce n'est pas une mauvaise idée, à condition de savoir parfaitement ce qu'on fait .

    Si tu ne veux pas te compliquer la vie, je te conseille d'utiliser simplement le gestionnaire d'erreur PHP et les fonctions qui lui sont dédiées.

    Tu peux modifier le comportement de celui-ci à ta guise grâce à des fonctions de callback, à trigger_error() et aux niveau d'erreurs notamment.

    C'est amplement suffisant et c'est plus approprié à la structure actuelle du langage PHP.
    Dernière modification par Invité ; 20/06/2007 à 10h00.

Discussions similaires

  1. quand utiliser les modules de classe
    Par borislotte dans le forum Access
    Réponses: 3
    Dernier message: 02/03/2007, 15h56
  2. [POO] Quand utiliser une classe ?
    Par Gwipi dans le forum Langage
    Réponses: 8
    Dernier message: 05/05/2006, 15h31
  3. [C#] Quand et où utiliser les exceptions ?
    Par wiLL_ dans le forum C#
    Réponses: 3
    Dernier message: 12/02/2006, 18h34
  4. [POO] Pourquoi utiliser les classes ?
    Par GregPeck dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 16h18
  5. Utiliser les exceptions pour un traitement particulier ?
    Par Blustuff dans le forum Assembleur
    Réponses: 11
    Dernier message: 01/12/2004, 03h21

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