Java : quelques bons réflexes à avoir (2)

Java — Tags :, — admin @ 22:31

Dans la suite des évènements, je suis tombé sur de nombreuses conversions de types. Elles étaient bien sur contrôlées, ou du moins… La plupart étaient codées comme ceci:

  1. public int strToInt(String sString) {
  2.    try {
  3.       int iNb = Int.parseInt(sString);
  4.       return iNb;
  5.    } catch (Throwable t) {
  6.    }
  7. }

On pourrait croire que le code est juste. D’ailleurs, il marchait encore une fois très bien… Lorsqu’on lui demandait de faire ce qu’on attendait de lui. En fait, ce code peut être assez dangereux: si une exception est levée, il n’y a aucun moyen de le savoir, aucun avertissement pour dire que iNb n’a pas été initialisé correctement. Et si sString était nul?

Ce genre de problème se retrouve souvent, et j’ai malheureusement vu énormément de blocs try/catch vides, laissant au futur utilisateur un code ne marchant que dans certains cas…

La gestion des exceptions est quelque chose d’assez méticuleux en Java. On ne veut pas trop alourdir le code avec des nombreux blocs try/catch. Toutefois, ce genre d’erreur assez classique engendre facilement des problèmes par la suite. De nombreuses fois, le développeur mange les exceptions en laissant vide les blocs catch, un peu comme si ils avaient été créé un peu par hasard.

Il faut au moins enregistrer quelque part que l’exception a été levée (log d’erreur, message…). Le bon réflexe à avoir est bien sur de renvoyer l’exception.

0 Comments »

Pas encore de commentaire.

Flux RSS des commentaires de cet article. TrackBack URI

Laisser un commentaire

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 Random namespace | powered by WordPress with Barecity