这是我学校工作的一个问题,我不想要完整的答案,但我应该如何去做每个部分或帮助澄清问题的要求
在以下方法中,对
getCreditCardNumber()
的调用可能会引发InvalidLengthException
,NonNumericException
或InvalidCardNumberException
。修改方法以执行以下操作:
一个。抓住InvalidLengthException
并打印消息“卡号必须是16位数。”
湾抓住NonNumericException
并打印消息“卡号必须仅为数字。”
C。将InvalidCardNumberException
传递给调用方法。换句话说,不要捕获它,但让任何使用此方法的调用方法都知道它可能会抛出InvalidCardNumberException
。
public void getOrderInformation()
{
getCreditCardNumber();
}
答案 0 :(得分:4)
这是官方documentation on exceptions。它很短,你想要做的事情就在那里。
答案 1 :(得分:1)
如果没有提供确切的代码,根据您的请求,您需要使用mutliple try
语句将调用包含在catch
/ catch
块中的getCreditCardNumber()。
Java和其他语言如何执行异常处理。阅读此quick tutorial并试一试。
答案 2 :(得分:-1)
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.”);
}
}