"Tout ce qui est susceptible de mal tourner, tournera mal" - Loi de Murphy
pour traiter les erreurs
public void maMethode() throws JeNeSavaisPasQuoiFaireException {
…
if (jeNeSaisPasQuoiFaire) {
throw new JeNeSavaisPasQuoiFaireException(“Désolé”);
}
…
}
try {
maMethode()
System.out.println(“Je ne suis pas exécuté si maMethode lance une exception”)
} catch (JeNeSavaisPasQuoiFaireException ex) {
System.out.println(“Pas de problème, je prends le relais”);
} finally {
System.out.println(“Quoi qu’il arrive ...”);
System.out.println(“Je vous laisserais pas tomber”);
}
public class BoomException extends RuntimeException {
}
public void maMethode2() {
…
if (attentionCaVaPlanter) {
throw new BoomException(“il y a eu un bruit ...”);
}
…
}
public void lireFichier(String path) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(path));
while (br.ready()) { // Tant qu’on peut encore lire des choses
String line = br.readLine();
System.out.println("line");
}
} catch (FileNotFoundException e) { // Erreur du constructeur
System.out.println(e.getMessage());
...
}