尝试捕获异常(int中的字母)

时间:2013-01-07 15:33:47

标签: java exception

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

2 个答案:

答案 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());