Java try / catch返回跳转到if语句外?

时间:2013-11-11 21:38:23

标签: java android

当contactMap不为null且不为空时,以下代码返回null而不引发异常。

    private List<Contact> getParseQuery(final Map<String, Contact> contactMap) {
        if (contactMap != null && !contactMap.isEmpty()) {
            // removed some code here to make this easier to spot
            try {
                List<Person> people = mainQuery.find();
                for (Person person : people) {
                    Contact contact = contactMap.get(person.getPhone());
                    contact.setUser(person);
                    contacts.add(contact);
                }
                return contacts;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        } else {
            return null;
        }
    }

为什么返回null?我通过“人员”列表中的一个数据来介绍此代码。在第一次之后,它返回到“for”语句来检查列表中是否有更多人,然后下一行在“else”中返回null?这怎么可能呢?没有例外。

0 个答案:

没有答案