Exception en java try / throws

Fermé
nighthammer Messages postés 13 Date d'inscription vendredi 15 mars 2002 Statut Membre Dernière intervention 18 décembre 2005 - 23 mai 2002 à 16:48
the mad06 Messages postés 2 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 26 juillet 2011 - 26 juil. 2011 à 12:38
lorsque l'on fait un "throws Exception" est-ce la même chose que si on faisait un "try{ ... }catch(Exception e){}?
A voir également:

5 réponses

hamidfilali Messages postés 1 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007 68
29 oct. 2007 à 20:22
c'est pas la meme chse
lorsque vous faisez throws comme vous etes entain de definir sur quelle methodes vous definissez l'exception assayer de revoir
la documentation comme javatout
68
non ce n'est pas la même chose

Un petit exemple :

- soit une classe ClasseA avec une methode fonctionA
- soit une classe ClasseB avec une methode fonctionB

On sait que :
- la fonctionB est succeptible de générer des exceptions lors de son appel.
- la fonctionA appelle la fonctionB

class ClasseA{   

     public void fonctionA(){   
              
             ClasseB classeB = new ClasseB();   

             classeB.fonctionB();   

     }   

}   

class ClasseB{   

     public void fonctionB(){   
              
               ...ton code qui rique de générer l'exception...   

     }   

}   




Alors voici 2 façons de gérer ce cas :

1/ tu gère l'exception dans la fonctionB de la classeB:

class ClasseA{   

     public void fonctionA(){   
              
             ClasseB classeB = new ClasseB();   

             classeB.fonctionB();   

     }   

}   

class ClasseB{   

     public void fonctionB(){   
              
               try{   
                          ...ton code qui rique de générer l'exception...   
              }   
              catch(Exception e){   
                         ...ta gestion de l'excpetion (ex: affiche l'erreur)...   
              }   

     }   

}   


la ClasseA ne sait même pas qu'il y a eu une exception, c'est la classe B qui gère tout le traitement de l'exception avec un bloc try catch





2/ tu gère l'exception dans la fonctionA de la classeA:

class ClasseA{   

     public void fonctionA(){   
              
             ClasseB classeB = new ClasseB();   
                
             try{   
                   classeB.fonctionB();   
             }   
             catch{   
                   ...ta gestion de l'excpetion (ex: affiche l'erreur)...   
             }   

     }   

}   

class ClasseB{   

     public void fonctionB() throws Exception{   
              
               ...ton code qui rique de générer l'exception...   

     }   

}   


fonctionB s'arrête et remonte l'exception à la fonction appelante et ne s'en préoccupe pas.

c'est la fonction2 qui appelle la fonctionB qui devra s'en occuper à l'aide d'un bloc try catch, si elle ne possède pas elle aussi un throws..
35
the mad06 Messages postés 2 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 26 juillet 2011
26 juil. 2011 à 12:38
Super explication :)
0
gaillardps Messages postés 94 Date d'inscription mercredi 27 mars 2002 Statut Membre Dernière intervention 9 décembre 2005 6
23 mai 2002 à 17:07
Non, pas tout à fait,
le throws ejecte toutes les exceptions sur ta classe alors que le try catch est plus ponctuel.
PS
2
Kirannt Messages postés 12 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 13 mai 2011
25 janv. 2011 à 04:44
Bonjour
j'aimerai que quelqu'un me devloppe cette =>

try {}
catch(typeExcepion e) { ... throw(typeException)e }

Je sais que pour throw c'est pour passe a un traitement a un niveau supreieur,

y-a-t-il un exemple ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Non pas du tout
-1