Maison >Java >javaDidacticiel >Comment éviter « java.lang.NumberFormatException » lors de l'analyse des chaînes « N/A » ?

Comment éviter « java.lang.NumberFormatException » lors de l'analyse des chaînes « N/A » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-05 22:30:12777parcourir

How to Avoid `java.lang.NumberFormatException` When Parsing

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn