Partage
  • Partager sur Facebook
  • Partager sur Twitter

un probleme avec les exception en JAVA

un petit probleme

Sujet résolu
    18 janvier 2006 à 20:35:43

    Bonjour à tous, après avoir multement chercher la réponse à ma question , je m'adresse à vous
    Pourquoi ce code ne marche pas ?

    public class Point
    {
            public Point(int a,int b)throws ErrConst
            {
                    if(a<0 || b<0)
                    {
                            throw new ErrConst();
                    }
                    else
                    {
                            x = a;
                            y = b;
                    }
            }
            public void affiche()
            {
                    System.out.println("Je suis un point de coordonnees "+ x +" "+ y);
            }
            private static int x,y;
            static class Pointcol extends Point
            {
                    public Pointcol(int a,int b,byte color)
                    {
                            super(a,b);
                            this.color = color;
                    }
                    public void affiche()
                    {
                            System.out.println("Je suis un point colore de coordonnees "+ x +" "+ y +" et de couleur "+ color);
                    }
                    private byte color;
            }
            public static void main(String[] args)
            {
                    try
                    {
                    Point a = new Point(4,5);
                    a.affiche();
                    }
                    catch(ErrConst erreur)
                    {
                            System.out.println("ExceptionErrConst");
                            System.exit(-1);
                    }
            }
    }
    class ErrConst extends Exception
    {
           
    }
    • Partager sur Facebook
    • Partager sur Twitter
      18 janvier 2006 à 21:00:21

      regarde avec ce code déja


      public class Point
      {
              public Point(int a,int b)throws Exception
              {
                      if(a<0 || b<0)
                      {
                              throw new ErrConst("a ou b est < 0");
                      }
                      else
                      {
                              x = a;
                              y = b;
                      }
              }
              public void affiche()
              {
                      System.out.println("Je suis un point de coordonnees "+ x +" "+ y);
              }
              private static int x,y;
              static class Pointcol extends Point
              {
                      public Pointcol(int a,int b,byte color) throws Exception
                      { 
                              super(a,b);
                              this.color = color;
                      }
                      public void affiche()
                      {
                              System.out.println("Je suis un point colore de coordonnees "+ x +" "+ y +" et de couleur "+ color);
                      }
                      private byte color;
              }
              public static void main(String[] args)
              {
                      try
                      {
                      Point a = new Point(4,5);
                      a.affiche();
                      }
                      catch(Exception erreur)
                      {
                              System.out.println("ExceptionErrConst");
                              System.exit(-1);
                      }
              }
      }
      class ErrConst extends Exception
      {
       ErrConst (String message) {
                      super(message);
       }
      }



      le code est correct je pense
      • Partager sur Facebook
      • Partager sur Twitter
        19 janvier 2006 à 13:00:01

        même probleme , n'auriez vous aps une solution ?
        • Partager sur Facebook
        • Partager sur Twitter
          19 janvier 2006 à 18:37:01

          Peut tu nous mettre les message d'erreur , stp car je viens de testé le code et il marche parfaitement....
          • Partager sur Facebook
          • Partager sur Twitter
            19 janvier 2006 à 18:59:31

            Salut,

            Dans le constructeur pour Pointcol, tu appels super(), fonction qui va se charger d'appeller le constructeur de la classe parente (soit ici le constructeur de Point), or ce constructeur jète une exception, donc le truc à faire, en règle général, c'est d'utiliser un try catch, mais ici, l'appel à super() doit être le premier truc dans ton constructeur (c'est comme ça que ça marche, j'ai pas trop cherché si on pouvait faire autrement). Donc le mieux est de dire que le constructeur Pointcol est lui aussi susceptible de jeter une exception, donc tu fais ça :

            public Pointcol(int a,int b,byte color) throws ErrConst
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2006 à 12:04:20

              merci c'est exactement ca
              • Partager sur Facebook
              • Partager sur Twitter

              un probleme avec les exception en JAVA

              × 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