我正在为我的java类做一个计算器项目,它要求我使用异常。当在计算器中输入运算符后跟数字以外的任何运算符时,它应捕获 NumberFormatException 并显示一条错误消息,指出"无效的非数字操作数"。相反,它显示不同的错误。
这是我必须捕获错误的代码:
catch (NumberFormatException e)
{
System.out.println(e.getMessage());
input = kb.nextLine();
}
我有这个来显示消息:
public class NumberFormatException extends IllegalArgumentException
{
public NumberFormatException()
{
super("Invalid non-numeric operand.");
}
}
这是我得到的错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Calculator.doCalculation(Calculator.java:59)
at CalculatorTest.main(CalculatorTest.java:25)
但我不确定从这里开始该怎么做,因为我不太了解例外情况。如果这很简单,我很抱歉,我对java很陌生。请帮忙,谢谢!
您的例外是 ArrayIndexOutOfBoundsException 。这与字符串的格式无关。它是关于尝试访问不存在的数组元素。
查看消息指示的第 59 行。您尚未与我们分享,因此您可以从这里开始独自一人。