Les exceptions
Résolu
Java_qst
-
Java_qst -
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
}
}
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
}
}
A voir également:
- Les exceptions
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Lorsque le débogage juste-à-temps est activé, les exceptions non gérées seront envoyées au débogueur jit inscrit sur l'ordinateur plutôt que d'être gérées par cette boîte de dialogue. - Forum Windows
- Modulenotfounderror: no module named 'exceptions' - Forum Python
- Bonjour les sous titres n'apparaissent plus malgré CC et cha ✓ - Forum YouTube
- From exceptions import pendingdeprecationwarning modulenotfounderror: no module named 'exceptions' ✓ - Forum Python
1 réponse
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.
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.
Java_qst
Merci beaucoup