Bonjour,
Je développe actuellement une application pour l'IUT, c'est un devoir à rendre vendredi. Et je me posais une question. Mon code fonctionne, mais je cherche à l'optimiser au maximum, principalement sur la gestion des erreurs.
Donc, je dois coder un programme permettant de gérer des données stockés dans une BDD MySQL et aussi dans une List Java. Pour ça, on utilise le design pattern DAO de niveau 2.
J'ai lu ce sujet qui parle d'anti pattern : https://www.developpez.net/forums/d8...eption-metier/
Et je ne comprend pas bien la différence entre une bonne utilisation ou non des exceptions.
Voici une partie de mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
@Override
public boolean create(Abonnement obj) throws Exception {
Iterator<Abonnement> dataIterator = data.iterator();
while (dataIterator.hasNext()) {
Abonnement datum = dataIterator.next();
if(obj.getId_client() == datum.getId_client() && obj.getId_revue() == datum.getId_revue()) {
throw new IllegalArgumentException("Le client n°" + obj.getId_client() + " que vous avez choisi est déjà abonné à cette revue.");
}
}
boolean ok = this.data.add(obj);
return ok;
} |
Ma classe métier "Abonnement" a une clé primaire composite, composé de {id_client, id_revue}, ce qui complique pas mal la création des classes DAO ! Et pour ça, je dois donc vérifier si la clé primaire n'existe pas déjà dans la list.
Donc, je boucle sur "data" qui est la liste contenant les données et si la clé primaire existe déjà, j'utilise un throw new qui me renvoie l'erreur, erreur que je récupère dans un try - catch dans ma classe Main et qui m'affiche ça :
[ListeMemoire] Erreur ajout "Abonnement" : Le client n°1 que vous avez choisi est déjà abonné à cette revue.
Donc, je voudrais savoir si c'est une bonne façon d'utiliser les Exception, et si non, comment je pourrais mieux gérer ce genre de chose?
Merci !
Partager