🛢️Parcours Fioul GroupéJava · Chapitre 09
Accueil › Java › Chapitre 09
Chapitre 09 / 22

La gestion d'erreurs

Anticiper et traiter ce qui peut mal se passer : exceptions, try/catch/finally, et exceptions personnalisées.

1 Notion

Try / catch / finally

try {
  int litres = Integer.parseInt(saisie);   // peut échouer
  System.out.println(litres);
} catch (NumberFormatException e) {
  System.out.println("Saisie invalide : " + e.getMessage());
} finally {
  System.out.println("Toujours exécuté");   // nettoyage
}
Checked vs unchecked — les exceptions « checked » (ex. IOException) doivent être déclarées (throws) ou attrapées ; les « unchecked » (RuntimeException) non.
2 Notion

throw et exception métier

public class CampagneClotureeException extends RuntimeException {
  public CampagneClotureeException(String m) { super(m); }
}

void inscrire(Campagne c, int litres) {
  if (c.getStatut() != Statut.OUVERTE)
    throw new CampagneClotureeException("Campagne fermée");
  ...
}
Ne pas « avaler » les exceptions — un catch vide masque les bugs. Journalisez (chapitre 20) ou relancez.
🛢️ Sur le projet Fioul Groupé

La règle métier « on ne s'inscrit pas à une campagne clôturée » se traduit par une exception dédiée CampagneClotureeException. Côté API Spring, ces exceptions se transforment en réponses HTTP propres (400, 409) : la gestion d'erreurs Java est le socle de la robustesse de l'API fioul.

À retenir
← Chapitre 08