关于java里的异常处理

int k,l;
do{
k = 0;
try{
l = input.nextInt();
}catch(Exception e){
System.out.println("命令输入错误!请根据提示输入数字命令!");
k = 1;
continue;
}
}while(k == 1);

这段代码,只要执行到continue,就不让我再次输入l了,而是死循环,为什么?

l = input.nextInt();
每次都会从输入读取下一个值,而一旦出错,再进入循环,就肯定走catch,然后k=1,当然就死循环了。

当然是这样,input.nextInt不会等待你的输入。事实上,它是批量读取的。