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 Java Discussion :

[Débutant] Bonnes pratiques avec les exceptions


Sujet :

Langage Java

  1. #1
    Membre averti
    aze
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : aze

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut [Débutant] Bonnes pratiques avec les exceptions
    Bonjour,

    j'ai relativement peu d'expérience en Java, mais on me demande de faire un programme ayant comme priorités la robustesse, la clarté en cas de problème et aussi la clarté du code.

    Du coup je me demande comment bien utiliser les exceptions... Mon code est systématiquement dans des try/catch avec les loggers associés (il n'y a pas grand chose d'autre à faire comme traitement à faire si une exception est levée...).

    Donc voila cers quoi je m'oriente actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private LinkedList<Coupures> 
    /**
    * 
    *@return la derniere coupure de la liste
    * @throws Exception
    */
    public Coupure getCoupure() throws Exception
    {
       if(listeCoupures!=null)
          throw new Exception("[ListeCoupures] Mauvaise initialisation de la coupure");
       if(listeCoupures.size()<1)
          throw new Exception("[ListeCoupures] Liste vide");
       return listeCoupures.getLast(); 				
    }
    Mais est ce que tout ça est vraiment utile ?
    Java devrait me dire si jamais il y a une erreur et lever l'exception qui va bien, non ? Auquel cas elle sera catchée tout pareil après, non ?

    En fait je viens du C avec l'habitude de tout tester dans tous les sens et j'avoue que j'ai du mal à trouver un juste milieu avec Java.
    Si vous avez des remarques et des conseils, ils seront les bienvenus.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    il est préférable de déclencher toi même des exceptions spécifiques dans tel ou tel cas qu'attendre une hypothétique levée d'exception par l'appli pour une mauvaise utilisation (grosso modo une gestion bien foutue est une feature, au contraire faire un gros catch (Exception e) sert juste à juste à masquer des bugs.

    De même dans ton cas il serait plus aisé pour toi, et beaucoup plus propre niveau code de déclencher des Exception un tant soit peu plus parlantes que Exception.

    Tu peux par exemple créer tes propres Exception, mais également utiliser des exception présentes dans java (suffit de fureter un peu dans la javadoc pour s'appercevoir du principe: chaque exception a une utilité bien particulière...)


    Pour plus d'infos c'est par là: http://anisfrikha.developpez.com/tut...va/exceptions/

Discussions similaires

  1. [11gR2] [DWH] Bonnes pratiques avec les tablespace
    Par nuke_y dans le forum Administration
    Réponses: 16
    Dernier message: 09/12/2013, 20h38
  2. Question générale sur les bonnes pratiques avec Java
    Par Teovald dans le forum Langage
    Réponses: 8
    Dernier message: 15/03/2011, 17h32
  3. Quelles sont les bonnes pratiques avec Zend Framework ?
    Par Community Management dans le forum Zend Framework
    Réponses: 14
    Dernier message: 02/02/2009, 20h35
  4. [log4j][débutant] Bonnes pratiques avec les threads ?
    Par scougirou dans le forum Logging
    Réponses: 1
    Dernier message: 13/07/2007, 16h27

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