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
Libérer: 2024-12-05 22:30:12
original
849 Les gens l'ont consulté

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)
}
Copier après la connexion

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
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal