Java:异常处理不起作用

标签 java input exception

我有一个程序,我正在尝试向其中添加异常处理。问题是,我写的异常仍然退出程序。基本上我让用户输入任何 int,如果他们给我一个 char,异常说他们不能这样做并让他们输入另一个 int。但它没有给我这个错误:

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:909)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextInt(Scanner.java:2160)
    at java.util.Scanner.nextInt(Scanner.java:2119)
    at cit130_hw10_q3.Cit130_hw10_q3.main(Cit130_hw10_q3.java:29)

Java 结果:1

这是一些代码。感谢您提供的任何帮助。

   Scanner input = new Scanner(System.in);
   System.out.println("Enter a series of integers." +
           "When finished enter 999");
   int userInput = 0;
   int inputCount = 0;
   do{
       try{
           System.out.println("Enter an integer: ");
           userInput = input.nextInt();
           addToArray(userInput, inputCount);
       }
       catch(Exception e){
           System.out.println("Only integer values are accepted. Please try again");

       }
       inputCount++;
   }while (userInput != 999);

public static void addToArray(int nextInt , int inputCount){
    integerArray[inputCount] = nextInt;
}

最佳答案

我怀疑您忘记在中间重新编译或者正在运行其他版本的代码,可能是与此不同的文件。如果您像您展示的那样捕获了 java.lang.Exception,则不会发生这种情况。

另一个选项是你有 input.nextInt();其他地方,也有你没有粘贴在这里的部分。再次确认第 29 行。

关于Java:异常处理不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20487577/

相关文章:

java - java中如何获取对象的运行时类型

java - Java中查找嵌套对象的逻辑是什么?

ajax - Ajax调用中的异常处理

ios - -[__NSCFNumber 计数] : unrecognised selector sent to instance 0x14539180 in Swift

java - 如何通过id创建hibernate关联?

Java:唯一的 10 位 ID

c - C 中的字符串格式 %*s

javascript - 我怎样才能选择所有的列表,然后将它的所有数字加在一起?

Java:在不知道输入行数的情况下读取输入

java.util.ConcurrentModificationException 谁能给我解释一下这个的逻辑原因