Posez votre question Signaler

Exception en java try / throws

nighthammer 13Messages postés 15 mars 2002Date d'inscription - Dernière réponse le 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){}?
Lire la suite 

Exception en java try / throws »

Suggestions
7 réponses
Réponse
+12
moins plus
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..
the mad06- 26 juil. 2011 à 12:38
Super explication :)
Ajouter un commentaire
Réponse
+1
moins plus
Non, pas tout à fait,
le throws ejecte toutes les exceptions sur ta classe alors que le try catch est plus ponctuel.
PS
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
-2
moins plus
Non pas du tout
Ajouter un commentaire
Réponse
-3
moins plus
Bonjour,
bjr
Ajouter un commentaire
Réponse
-5
moins plus
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
Ajouter un commentaire
Ce document intitulé « exception en java try / throws » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?