我正在尝试从 System.in 获取一个整数,并且我想捕获最终的错误。这是代码:
int dim;
boolean done = false;
while(!done)
{
try
{
dim = in.nextInt();
done=true;
}
catch(InputMismatchException e)
{
System.out.println("I need an integer");
}
}
我得到的结果是错误字符串的无限循环。我做错了什么?我是否试图捕获错误的异常?
最佳答案
“当扫描器抛出 InputMismatchException 时,扫描器将不会传递导致异常的 token ,以便可以通过其他方法检索或跳过它。” Oracle
关于java - 捕获异常时无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35471870/