Exception en java try / throws

nighthammer Messages postés 13 Statut Membre -  
the mad06 Messages postés 2 Statut Membre -
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 Statut Membre 68
 
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
Profil bloqué
 
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 Statut Membre
 
Super explication :)
0
gaillardps Messages postés 94 Statut Membre 6
 
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 14 Statut Membre
 
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
souheil
 
Non pas du tout
-1