我试图在索引超出范围时显示错误消息,但即使数组列表中没有元素,我当前的代码也没有显示适当的错误消息。
这是我试图实现异常的部分的代码块。解释一下,make call 方法获取显示,它是一个与数组元素对应的数字,然后显示来自正确索引的调用。
public void makeCall()
{
Mobile phoneCall = (Mobile) gadgets.get(getDisplay());
phoneCall.PhoneCall(getPhoneNumber(), getDuration());
System.out.println();
}
public int getDisplay()
{
int gadgetDisplay = 0;
try
{
gadgetDisplay = Integer.parseInt(displayText.getText());
if (gadgetDisplay< 0)
{
JOptionPane.showMessageDialog
(frame, "Please enter a positive Display");
}
}
catch(NumberFormatException exception)
{
JOptionPane.showMessageDialog
(frame, "Please enter a positive Display");
}
catch(IndexOutOfBoundsException exception)
{
JOptionPane.showMessageDialog
(frame, "Gadget is not listed");
}
return gadgetDisplay;
}