java中无法返回的语句

gme*_*des 1 java android list

我有一个返回列表的方法,但是当我运行代码时,出现Unreachable语句这个方法来自一个aidl文件并生成一个带有返回的映射.

代码:

List<String> list = new ArrayList<String>();

Public List<String> setMethod(Map map) {
    ContentValues cv = null;
    Iterator i = map.keySet().iterator();
    Iterator j = map.values().iterator();

    if(map.isEmpty() || map == null) {
        return null;
    } else {
        try {
            while(i.hasNext()) {
                String str = (String) i.next();
                Long l = (Long) j.next();
                list.add(str);
                cv.put(Storage.STR, str);
                if(Provider.insert(Storage.Table, cv) < 0) {
                   return null;
                }
            }
            if(list.isEmpty() || list == null) {
                return null;
            } else {
                return mPathList;
            }
        } catch (Exception e) {
            return null;
        }
   return list;
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一个亮点,我可以为dolve做些什么呢?

Hab*_*bib 6

你是从try块返回catch,所以永远不会到达最后一个return语句.

您的代码有多个返回路径.if如果您的条件得到满足,您将从第一个陈述返回,else部分是您有try阻止.在try你返回的基础上if,以及else如果没有异常发生你保证从try块返回,如果异常你有一个catch声明,你也从那里返回.因此,您的代码不可能继续下去.因此,最后一个return语句无法访问.