为了账号安全,请及时绑定邮箱和手机立即绑定

Try...catch 循环未捕获异常

Try...catch 循环未捕获异常

茅侃侃 2021-12-10 17:03:38
当程序运行时,当输入负数或字母时,catch 不会捕获错误。否则程序运行良好,其他任何事情都没有错误。当输入不正确的输入时,它只是捕获未捕获。 for (int customer=0; customer<numberOfCustomers; customer++) {                try {                    // get amount used by customer as String, convert to double                    GBused = Double.valueOf(Accounts[customer][USED]);                    // compute bill based on the customer's plan selection                    switch (Accounts[customer][SELECTION]) {                        case "Plan-A":                            bill = computeBill (GBused, PLAN[A][LIMIT], PLAN[A][PRICE]);                            break;                        case "Plan-B":                            bill = computeBill (GBused, PLAN[B][LIMIT], PLAN[B][PRICE]);                            break;                        case "Plan-C":                            bill = computeBill (GBused, PLAN[C][LIMIT], PLAN[C][PRICE]);                            break;                        case "Plan-D":                            bill = computeBill (GBused, PLAN[D][LIMIT], PLAN[D][PRICE]);                            break;                        default:                            bill = 0.00;                            break;                    }                    // convert the bill to a String and save into the array                    Accounts[customer][BILL] = String.valueOf(bill);                                } // end of try                               catch (NumberFormatException e) {                    System.out.println ("Values for GB used must be numeric");                               } 
查看完整描述

2 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

没有异常被抛出。您需要检查输入处的有效值。对于字符,有类型转换并ASCII使用字符的值。


查看完整回答
反对 回复 2021-12-10
?
青春有我

TA贡献1784条经验 获得超8个赞

尝试使用“(Exception e)”来捕获您可能遇到的任何可能的异常。


查看完整回答
反对 回复 2021-12-10
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信