【问题标题】:How do I trap NumberFormatException thrown by parseInt如何捕获 parseInt 抛出的 NumberFormatException
【发布时间】:2012-04-28 20:29:00
【问题描述】:

我被这个问题困住了~:

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.

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

如果有人可以帮助我,我将不胜感激,在此先感谢。

【问题讨论】:

    标签: java parseint numberformatexception


    【解决方案1】:

    由于这是作业,我只是给你一个提示:你必须调用该方法,并用适当的try-catch 块包围调用。

    【讨论】:

      【解决方案2】:
      
      String numStr = "15A";
      try {
        int num = Integer.parseInt(numStr);
      } catch (NumberFormatException nfe) {
        // not a number
      }
      

      【讨论】:

        【解决方案3】:

        很简单,

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-07-13
            • 2012-02-05
            • 1970-01-01
            • 2013-03-29
            • 2020-06-12
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多