Comment gérer l’exception NumberFormatException en Java

Très souvent, dans notre code, nous obtenons des entrées de l’utilisateur sous la forme de String, ou peut-être nous enregistrons les entrées de l’utilisateur au format String. Si le programme doit effectuer une opération ou un calcul arithmétique, cette chaîne doit être convertie en types de données numériques. Une des façons de faire la conversion consiste à utiliser les méthodes parseXXX(). NumberFormatException levée lorsque l’application a tenté de convertir une chaîne en un types numérique, mais la chaîne n’a pas le format approprié.
 
 

Exemple:
public class Exemple {
   public static void main(String[] args){
      int n = Integer.parseInt("100E");
      System.out.println(n);
   }
}

 
Sortie:

Exception in thread "main" java.lang.NumberFormatException: For input string: "100E"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at Exemple.main(Exemple.java:3)

 

Comment gérer l’exception NumberFormatException?

Nous pouvons gérer l’exception NumberFormatException de deux manières

  • Utilisez le bloc try et catch entourant le code qui peut provoquer l’exception NumberFormatException.
  • Une autre façon de gérer l’exception est l’utilisation du mot clé throws.

 
 

Exemple:
public class Exemple {
   public static void main(String[] args) {
      try {
         int n = Integer.parseInt("100E");
      } catch (NumberFormatException e) {
         e.printStackTrace();
         System.out.println("NumberFormatException est traité");
      }
      System.out.println("Continuez votre code ici");
   }
}

 
Sortie:

NumberFormatException est traité
Continuez votre code ici
java.lang.NumberFormatException: For input string: "100E"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at Exemple.main(Exemple.java:7)

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *