IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)



Exception ... must be caught ... ?
auteur : Clément Cunin
auteur : Sébastien Meric
Qu'est qu'une exception ?
En Java, les erreurs sont gérées à travers des exceptions qui sont levées par exemple lorsqu'une méthode ne peut pas accomplir correctement son travail. Le compilateur ne laisse pas le développeur ignorer ces exceptions potentielles, chaque source d'erreur doit être traitée.

Traiter une exception :
Pour pouvoir traiter ces exceptions il faut utiliser une succession try/catch (essaye/attrape).

try<comment>... mes instructions</comment> catch (mon_type_d_Exception e)<comment>... mon traitement si cette erreur intervient</comment> catch (un_autre_Exception e)<comment>...</comment>
La "lancer" vers les méthodes appelantes :
Il est toujours préférable de traiter les exceptions au plus tôt pour préserver la lisibilité du code. Néanmoins, l'exception levée présente parfois un intérêt non négligable pour la méthode appellante. En effet si votre méthode courante permet de parser un fichier texte, il peut être utile pour la méthode appellante de savoir que le traitement n'a pas eu lieu, et pourquoi celui-la n'a pas eu lieu. Un fichier manquant ne se traite pas de la même manière qu'un fichier corrompu ! Afin de lancer une exception vers la méthode appelante, il suffit de prévenir dès la déclaration :

public int maMethode() throws UneException, UneAutre, ...
Utiliser une exception qu'il n'est pas nécessaire d'attraper :
Si vous définissez vos propres exceptions, il peut arriver que vous soyez géné par l'obligation systématique de les "attraper". Certaines exceptions n'ont pas besoin d'être attrapées à la compilation, mais interrompent le déroulement de votre méthode, et de sa pile d'appel, tout en laissant une trace de son passage dans les fichiers de log. Ce type d'exception descend exclusivement de RuntimeException.



Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduit en français ici.
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.