我该如何在java中处理NumberFormatException?

时间:2016-06-04 15:30:44

标签: java calendar numberformatexception

有没有办法处理ReactJS的数量(顺序)?我使用NumberFormatException操作数[]制作了一个计算器,如下所示,我想写错误发生的时间。当我输入" 2 + k"时,表示"操作数[1]输入错误的消息。"应该出来。我该怎么做?

2 个答案:

答案 0 :(得分:0)

首先,更换线

System.out.println("operand[] has the wrong input.");

与行

System.out.println(e.getMessage());

现在,您可以使用MyCalculator.calculate()构造函数在NumberFormatException(String)方法中抛出异常时传递消息。它看起来像这样:

calculate(String expression)
{
    //validate input code
    //...

    //if operand 0 not valid
    throw new NumberFormatException("operand 0 has the wrong input");

    //if operand 1 not valid
    throw new NumberFormatException("operand 1 has the wrong input");

    //rest of calculate method
}

答案 1 :(得分:0)

也许你可以定义一个新的例外。例如CalculatorException可以包含有关计算的更多特定信息,例如哪个操作数不正确。或者你甚至可以定义另外一个例外IllegalOperandException,它可以扩展CalculatorException。然后您的方法calculate可以声明为抛出CalculatorException。总之,我们的想法是定义一个新的异常层次结构,以提供与您的问题领域更相关的信息。

然后,您的代码可能如此:

try {
    System.out.println("result: " + MyCalculator.calculate(expression));
    System.out.println();
} catch(CalculatorException e) {
    System.out.println(e.getMessage());
}