Bonjour,
Les exceptions sont pour beaucoup d'étudiants comme moi un problème.
Difficiles à gérer, secondaires pour les néophytes,... elles sont souvent bâclées et très très généralistes : une balise try catch et c'est fini...
Alors je me suis renseigné pour améliorer mon approche.
Et on m'a dit une chose qui m'a surpris, c'est que une fonction doit avoir un seul but, celui pour lequel elle a été conçue. Et qu'il ne faut faire aucun contrôle dans celle-ci mais, en cas d'erreur, on lève l'exception..
Pour être plus concret voici un exemple :
Je fais un code qui demande la date de naissance de l'utilisateur et la traite.
Je crée alors un test de contrôle de la saisie et le traitement :
On m'a fait part de que ce code n'était pas correct car la procédure n'a pour but que d'obtenir la saisie et non de la contrôler. Le contrôle ne se fait que si la saisie est erronée, le traitement va bugger et donc exception... Et il faut donc gérer l'exception. Voici le code dit correct dans l'esprit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Saisie = '12/05/zer' if controle(saisie) = true then Traitement (saisie) else MsgBox(Saisie incorrect);
Cela est une autres approche que la mienne que je vais sans doute adopter mais j'aimerais connaître votre avis ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Saisie = '12/05/zer' try Traitement(saisie) catch(..){ MsgBox(Saisie incorrect); }
Partager