Maison >Java >javaDidacticiel >Comment éviter « java.lang.NumberFormatException » lors de l'analyse des chaînes « N/A » ?
Prévention de l'exception java.lang.NumberFormatException lors de l'analyse de la chaîne "N/A"
Lorsque vous essayez d'analyser une chaîne numérique, il est crucial de vous assurer sa validité pour empêcher NumberFormatException. Un problème courant survient lors de la rencontre de chaînes « N/A », qui ne peuvent pas être converties en nombre entier.
Aperçu des exceptions :
L'exception NumberFormatException est levée lorsqu'une chaîne non valide est tenté d'être analysé dans un type numérique spécifique, tel qu'un entier (Integer.parseInt). Comme le montre la trace de pile suivante, « N/A » conduit à cette exception car il ne s'agit pas d'une représentation entière valide.
Stratégies de prévention :
Pour éviter cela exception, vous pouvez mettre en œuvre l'une des techniques suivantes :
Exception Gestion :
Cette approche consiste à encapsuler l'opération d'analyse dans un bloc try-catch, où l'exception NumberFormatException est interceptée et gérée de manière appropriée. Voici un exemple :
try { int i = Integer.parseInt(input); } catch (NumberFormatException ex) { // Handle the exception here (e.g., log it, display an error message) }
Correspondance de modèles entiers :
Vous pouvez également utiliser une expression régulière pour vérifier si la chaîne correspond au format entier attendu avant d'essayer de analysez-le. Voici un exemple simplifié :
String pattern = "-?\d+"; if (input.matches(pattern)) { int i = Integer.parseInt(input); } else { // Handle non-integer string }
Dans cette approche, le modèle définit des représentations entières valides, et si la chaîne d'entrée n'est pas conforme à ce modèle, elle peut être gérée séparément.
En implémentant l'une ou l'autre de ces stratégies, vous pouvez vous assurer que votre code gère correctement les chaînes non entières telles que « N/A », empêchant NumberFormatException de perturber son exécution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!