Les exceptions [Résolu/Fermé]

Signaler
-
 Java_qst -
Bonjour,
J'ai un petit problème dans ma méthode annuler(int n) elle doit prendre en paramètre le numéro de la réservation et retirer la réservation de la liste_reservations,mais je veux ajouter le cas d'un numéro de réservation donné eronné,mais je ne sais pas si je dois ajouter un simple if ou utiliser les exceptions carrément.
Voici ma méthode:
public void annuler(int n ){
for(int i = 0 ; i<liste_reservations.size();i++){
if( (liste_reservations.get(i)).getNum_reservation() == n ){
liste_reservations.remove(i);
System.out.println("Réservation bien annulée.");
break;
}
System.out.println("Numéro de réservation indiqué incorrecte.");//Je sais bien qu'il ne faut pas l'afficher ici sinon il sera répété à chaque itération
}
}

1 réponse

Messages postés
16365
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
16 juin 2021
2 845
Bonjour,

En général une méthode ne devrait pas faire d'affichage (println etc.) et son résultat devrait plutôt se traduire par une valeur de retour, ici un boolean true/false ou retourner l'élément qui a été supprimé.

Si on se base sur la fonctionnalité en elle même, ce n'est pas vraiment grave d'annuler une commande qui n'existe pas, car le résultat est bien correcte : une fois la méthode exécutée la commande n'existe plus (soit parce qu'elle n'a jamais existé, soit parce qu'elle a été correctement annulée) donc une exception ici ne serait pas forcément pertinent.

Remarque : vu que tu as des identifiants pour chaque réservation, il y a plus performant qu'une List à utiliser, soit un Set (trié par id), soit une Map (avec l'id comme clé), ça évitera d'avoir à parcourir toute la liste pour supprimer un élément.
Merci beaucoup