我如何处理PhoneDirectory程序中的NullPointerException

时间:2014-04-23 15:33:19

标签: java exception-handling nullpointerexception

我正在尝试为我的PhoneDirectory程序创建一个addChangeEntry方法,它的功能是搜索,如果传递的名称不存在,或者如果联系人已经存在,则在目录中添加新条目,更新它们的编号。< / p>

我一直在获取NullPointerExceptions,因为我相信我的x值等于null。在学习之后我试图捕获并处理异常,但我仍然在接收NullPointerExceptions。

addChangeEntry代码:

public String addChangeEntry(String name, String telno) {
    for (DirectoryEntry x : theDirectory) {
        try {
            if (x == null) {
                Logger logger = Logger.getLogger(ArrayPhoneDirectory.class.getName());
                logger.log(Level.WARNING, "User with no name found");
                continue;
            }

            else if (x.getName().equals(name)) {
            x.setNumber(telno);
            return x.getNumber();
            }

            add(name, telno);
        }
            catch (Exception ex) {
        System.out.println("Exception found");
        throw ex;
            }
        }
    return null;

}

非常感谢有关如何处理此异常的任何帮助,因为它目前正在暂停我对该程序的测试。

1 个答案:

答案 0 :(得分:0)

如果你的假设是正确的并且它是x为空。那么这可能是你的问题,在捕获异常后,你抛出它throw ex;这就是为什么你还活着如果您不希望程序停止,只需将其从代码中删除即可。