-3
votes

Essayer et attraper un ensemble Int ne fonctionne pas comme prévu

J'essaie d'essayer d'essayer de prendre un paramètre de méthode, mais je ne peux pas le faire et lorsque le programme est exécuté, il me donne l'erreur de format de numéro d'erreur au lieu d'exécuter le code dans le bloc de capture

Toute aide est apprécié. Je suis débutant à Java et à la programmation. Merci d'avoir pris le temps de lire ma question. xxx

message d'erreur xxx


7 commentaires

S'il vous plaît ajouter la stacktrace de l'erreur.


Le code dans votre try-catch ne semble pas produire cette exception du tout. Cela n'appelle aucune méthode. L'exception est donc jetée ailleurs. Portez une attention particulière au numéro de ligne dans votre trace de pile.


L'erreur n'est pas dans le code que vous avez affiché. C'est ailleurs.


@Arnaud Exception dans le fil "Main" Java.Lang.NumberFormatxception: pour la chaîne d'entrée: "E" à java.lang.numberformatException.forinPutString (source inconnue) sur java.lang.integer.parseint (source inconnue) à Java.lang. Integer.parseint (source inconnue) à userinput.promptuser (userinput.java:27) à Mainclass.main (Mainclass.java:11)


@DisplayName J'essaie de vérifier si l'utilisateur saisit une chaîne dans un champ entier et si elles le souhaitent afficher un message d'erreur


En général, ne pas ajouter d'informations dans des commentaires. Ils sont pour des conseils et des éclaircissements. Ajouter des messages de code ou d'erreur dans la question elle-même, correctement formaté en le sélectionnant et en utilisant le bouton {} .


À partir de la StackTrace, vous pouvez voir que l'erreur se produit dans la méthode promptUne , pas dans INPUTCHECK .


3 Réponses :


0
votes

Votre code ne jette aucun type d'exception, un bloc de capture n'est pas exécuté du tout.

En termes simples, votre code dans Essayer Block est libre de tout type d'erreur de temps d'exécution afin que votre bloc de capture n'est pas atteint du tout. Le bloc de capture n'est exécuté que lorsque votre code en essayez que le bloc jette une exception.


0 commentaires

0
votes

Le Catch La manipulation de bloc Un certain type d'exception est exécutée uniquement lorsque le code dans un Essayez Block produit une exception de ce type. Ainsi, votre code dans un ne peut être exécuté que si le code dans un Essayez bloquer les lancers NumberFormatxception , mais ce n'est pas le cas. Vous devez soit explicitement lancer une telle exception dans un essayer bloquer ou appeler une méthode qui pourrait le jeter. xxx


0 commentaires

0
votes

Il n'y a pas besoin de l'essai et d'attraper le bloc ici. De plus, le paramètre est une matrice d'int, vous ne pouvez pas passer la chaîne pour le paramètre. Vous pouvez utiliser ci-dessous la deuxième valeur ASCII examinera.

int arr[] = {100,'e'};


0 commentaires