Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exception dans une classe abstract

Sujet résolu
    2 juillet 2008 à 12:13:21

    Bonjour,

    Après avoir passer le chapitre des exception j'ai essayé de gérer les exceptions dans le projet utiliser pour tester les classe abstract.
    Je voudrais créer une Exception qui interdit les poids négatifs.(logique ^^)
    Mais quand j'ai voulu mettre l'Exception dans la classe Animal je me suis rendu compte que ce n'était pas possible car je peux pas tester la variable "poids" dans une if, donc j'ai été mettre l'Exception dans mes classe Chat, Chien, etc.

    Comment faire pour pas avoir besoin de mettre cette Exception partout ?
    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2008 à 13:11:04

      Tu fais :
      abstract void taMethode()throws TonException;
      


      Mais tu devra tout de même mettre l'instruction throws TonException dans tes classes filles...
      • Partager sur Facebook
      • Partager sur Twitter
        2 juillet 2008 à 13:18:33

        Salut, :)
        J'espère avoir des éléments de réponse;
        Tu ne touches pas à ta classe Animal.
        Dans tes classes héritant de Animal, (Chat, Chien, Blabla...) tu indiques qu'une exception peut se produire dans les méthodes qui peuvent poser problème, c'est à dire celles où tu indiques le poids, surement le constructeur.
        public Blabla throws PoidsException()
        {
              if(poids<0) { throw new PoidsException() }
              .......
        }
        


        Donc si l'exception apparait, elle sera traitée dans la classe PoidsException() que tu dois donc créer.

        class PoidsException extends Exception {
        
              public PoidsException()
              {
                    instructions...
              }
        }
        


        Tu peux rajouter un paramètre pour dire que l'exception vient d'un chat, d'un chien :
        public PoidsExcption(String genre)
              {
                    if(genre equals "chat") {.......}
                    ........
              }
        


        Enfin, maintenant qu'il est explicité qu'il y a des exception possibles dans les classes héritant de Animal, quand tu créras un objet de type Chat par exemple, il faudra penser à utiliser des blocs try/catch
        (Je crois mais pas sûr que ça marche en ne mettant rien comme instructions dans le bloc catch).

        Voilà, j'espère t'avoir aidé ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Exception dans une classe abstract

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown