十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
出现InputMismatch后一直循环:
为武穴等地区用户提供了全套网页设计制作服务,及武穴网站建设行业解决方案。主营业务为成都做网站、成都网站建设、武穴网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
当某一扫描器抛出 InputMismatchException 时,该扫描器不会传递导致该异常的标记,因此可以通过其他某种方法来获取或跳过它。
这是java API文档中的原话。意思是说,如果nextInt方法没有成功解析出一个整数,那么你的输入不会被忽略。因为它或许能被其它格式解析。
那么你的程序中输入了a后,出现异常,number被赋值100,开始下一次循环,但这时数据缓冲区内你上次输入的a还在,并没有清除,这时继续解析a,还是错误,于是这个过程就一直重复下去了。
现在你要改的是,出现错误把这次的输入清除,只要在catch中,加一句:input.next()就搞定了!
也可以将Scanner写在try里面
需要使用catch语句捕获异常,然后跳出;
示例代码
while (true) {
try {
System.execute(...);
} catch (Throwable e) {
System.err.println("执行程序发生错误……");
e.printStackTrace();
}
}
java
异常处理后程序不继续执行,可能原因:
1.
设置的有断点。
2.
异常处理之后
,程序就执行完了,
3.
有些异常处理
完,
后面的程序有些程序
就不执行了。
解决办法:
1.
找到你设置的断点,
把它去掉。
2.
是正常的,
你写的程序刚好
执行完,
所以
后面就不再执行。
3.
去看相关异常处理的机制,
修改自己的程序。