java - 我无法捕捉 InputMismatchException
问题描述
我得到了我想要的 InputMismatchException 错误,但无法捕捉它。(我这样做只是为了学习它)有人可以帮助我吗?
package GameProject;
import java.util.*;
public class Execute {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
boolean enemySelected=false;
boolean characterSelected=false;
do {
System.out.println("Choose your character!");
System.out.println("1-Knight\n2-Tank\n3-Warrior");
int choosenCharacter=scan.nextInt();
try{
if(choosenCharacter==1|| choosenCharacter==2||choosenCharacter==3) {
characterSelected=true;
}
}
catch(InputMismatchException e) {
System.out.println("Choosen character doesn't exists.Try again!");
}
}while(characterSelected==false);
}
}
解决方案
这里:
int choosenCharacter=scan.nextInt();
这需要进入 try 块!
在可能导致异常的表达式之后进行尝试没有帮助。可以抛出的代码需要用 try/catch括起来。
推荐阅读
- python-3.x - ScalarCutPlane mayavi 未显示 Mayavi 等值面图的横截面(轮廓)
- java - 第二个while循环无休止地运行有人可以解释为什么吗?
- c# - 加载母版页时,Ajax.Get 调用未在部分视图中触发
- javascript - 单击按钮后为 html 页面动态生成的内容
- javascript - 用于插件的文本字段 onblur 的 Ember 表单不起作用
- swiftui - 为什么我得到数据模型错误只有具体类型可以符合协议
- c# - 无法将方法组转换为 func
- javascript - react prop-types:来自现有 prop-types 的可重用验证器
- model-view-controller - 使用mvc在服务器上删除文件的问题
- python - 计算带有 np.nan 的熊猫数据框的值的平均值的最佳方法是什么?