如何捕获parseInt抛出的NumberFormatException

时间:2012-04-28 20:29:00

标签: java parseint numberformatexception

我坚持这个问题〜:

Integer.parseInt方法将数字字符串转换为它所代表的int数。

public static int parseInt (String s)
             throws NumberFormatException

解释如何捕获parseInt抛出的异常,并用代码示例说明您的答案。

我到目前为止的答案是:

try
{
   System.out.println("incorrect");

}

catch (NumberFormatException n)
{
   System.out.println("WRONG! This is not a number");
}

我觉得这个答案是错误的,因为上面的代码只会在main方法中使用,而我不确定如何在下面捕获异常:

public static int parseInt (String s)
             throws NumberFormatException.

我已经通过java API查看了parseInt方法,并通过各种研究查看并尝试了代码,但是由于我缺乏理解,我仍然在努力做到这一点。

如果有人能帮助我,我会感激,谢谢你。

4 个答案:

答案 0 :(得分:5)

由于这是家庭作业,我只是给你一个提示:你必须调用方法,并使用适当的try - catch块来围绕通话

答案 1 :(得分:2)


String numStr = "15A";
try {
  int num = Integer.parseInt(numStr);
} catch (NumberFormatException nfe) {
  // not a number
}

答案 2 :(得分:1)

很简单,

  • 在try块中尝试做某事。因此,您尝试将字符串的值解析为数字。在try块中,您可以根据需要编写任意数量的语句。
  • 当这不能正常工作时,您可以使用catch块来对发生的某些异常做出反应(例如,您告诉用户出现了问题)
  • 另外还有一个finally块,它总是执行,如果发生异常则没有区别

我希望这会有所帮助。 :)

答案 3 :(得分:1)

陷阱(在Java中称为捕获)异常不会发生在抛出它的方法中(在您的示例中为parseInt),而是在它被调用的位置。因此,当您在try-block中添加Integer.parseInt(someString)时,您的示例就可以了。