J'ouvre un post spécifique à la discussion commencée ici http://www.developpez.net/forums/d11...a/#post6251531 et relative au double close.
Le point porte sur le fait de faire ou non le "close()" du FileReader.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); br.close() fr.close();
La doc dit grosso modo que ce n'est pas nécessaire.
Par contre, d'expérience (douloureuse), je dis que ça ne mange pas de pain de tout fermer.
De manière générale, ma stratégie est de fermer moi-même ce que j'ai ouvert. Quand ce n'est pas moi qui ouvre alors je laisse la lib se démerder.
Avant je faisais bien confiance à la doc. Maintenant je marche autrement. Si le code vient de mon équipe, je ne blinde pas (quoi que). Si le code vient d'un étranger alors j'utilise systématiquement des techniques de défense (copie de défense, assert, etc.) et je diminue progressivement le niveau de défense si tout se passe bien.
Partager