帮助解决java问题

时间:2011-05-11 02:30:42

标签: java

这是我学校工作的一个问题,我不想要完整的答案,但我应该如何去做每个部分或帮助澄清问题的要求

  

在以下方法中,对getCreditCardNumber()的调用可能会引发InvalidLengthExceptionNonNumericExceptionInvalidCardNumberException。修改方法以执行以下操作:
  一个。抓住InvalidLengthException并打印消息“卡号必须是16位数。”
  湾抓住NonNumericException并打印消息“卡号必须仅为数字。”
  C。将InvalidCardNumberException传递给调用方法。换句话说,不要捕获它,但让任何使用此方法的调用方法都知道它可能会抛出InvalidCardNumberException

public void getOrderInformation() 
{
    getCreditCardNumber();
}

4 个答案:

答案 0 :(得分:4)

这是官方documentation on exceptions。它很短,你想要做的事情就在那里。

答案 1 :(得分:1)

如果没有提供确切的代码,根据您的请求,您需要使用mutliple try语句将调用包含在catch / catch块中的getCreditCardNumber()。

Java和其他语言如何执行异常处理。阅读此quick tutorial并试一试。

答案 2 :(得分:-1)

你是说这个意思吗? o.0

public void getOrderInformation() throws InvalidCardNumberException
{
    try
    {
        getCreditCardNumber();
    }
    catch(InvalidLengthException e)
    {
        System.out.println("Card number must be 16 digits.");
    }
    catch(NonNumericException e)
    {
        System.out.println("Card number must be numbers only.");
    }
}

答案 3 :(得分:-1)

以下是所有这些的答案;你可以把它拆开看看我做了什么。

public void getOrderInformation() throws InvalidCardNumberException
{
  try {
    getCreditCardNumber();
  } catch(InvalidLengthException ex) {
    System.err.println("Card number must be 16 digits.");
  } catch(NonNumericException ex) {
    System.err.println(“Card number must be numbers only.”);
  }
}