1.10 Les exceptions
(voir le chapitre dédié 7 pour plus de détails et des exemples)
Elles permettent de garantir une sortie propre et que le programme ne s’arrête pas de manière incontrôlée, s’il s’agit d’une situation contrôlable.
Méthodologie pour traiter une exception prédéfinie :
- on récupère le nom de l’exception lorsque le programme s’arrête
- on entoure le bout de code concerné dans un
try{} - on fait suivre par un
catch(Exception e) {} - si besoin, on ajoute un
finally {}pour exécuter certaines instructions dans tous les cas (que l’exception soit levée ou non)
try {
bout de mon code, surlequel je leve une exception;
} catch (uneException e) {
instructions si levee de exception;
} finally {
instructions optionnelles;
}Une exception est un type : c’est pourquoi je la déclare et la nomme (
epar exemple).
Méthodologie pour une méthode définie comme levant obligatoirement une exception :
- on ajoute
throws Exceptionà sa signature - on ajoute dans son body une instruction
ifqui, si elle est vraie, permet de levée l’exception avecthrow new Exception - lors de l’appel de cette fonction, elle devra obligatoirement être encapsulée d’en un
try...catch
... nomMethode(...) throws Exception {
if (condition booleenne) {
throw new Exception(...);
}
}La méthode
.getMessage()permet de récupérer le message d’erreur.
La ‘StackTrace’ représente la totalité du message d’erreur.