0

当我尝试将字母输入字符串时,我正在尝试使用 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
4

2 回答 2

2

如果文档模糊不清,请使用实验:

 try {
   beginnen = Input.readInt();
 } catch (Throwable x) {
     System.err.println("Catched "+x.getClass().getName());
 }

这将为您打印确切的类名,您可以稍后更改代码以捕获此类的异常。这也会为您显示,也许实际上没有抛出任何东西。

于 2013-01-07T15:42:31.373 回答
1

您的Try/Catch表达式对我来说看起来不错,但是您错误地引用了error,它没有在任何地方定义。

尝试将其更改为System.out.println(IME.getMessage());

于 2013-01-07T15:38:18.863 回答