当我尝试将字母输入字符串时,我正在尝试使用try catch结构来显示错误。我应该使用哪个例外?控制台向我显示InputMismatchException,但这不起作用。
输入有效:
beginnen = 1
不起作用的输入:
beginnen = a
它显然不起作用,因为我将一个字符串放入一个int,我只想在出现这种情况时显示一条消息
int beginnen;
String error = "Something went wrong";
try {
beginnen = Input.readInt();
}
catch (InputMismatchException IME) {
System.out.println(error);
}
出现错误:
Exception in thread "main" java.util.InputMismatchException
答案 0 :(得分:2)
如果文档有雾,请使用实验:
try {
beginnen = Input.readInt();
} catch (Throwable x) {
System.err.println("Catched "+x.getClass().getName());
}
这将为您打印确切的类名,稍后您可以更改代码以捕获此类的例外。这也将为您展示,也许实际上没有任何东西被抛出。
答案 1 :(得分:1)
您的 Try / Catch 表达式对我来说很好,但是您错误地引用了错误,这在任何地方都没有定义。
尝试将其更改为System.out.println(IME.getMessage());