[英]Unreachable statement return in java
我有一个返回列表的方法,但是当我运行代码时,出现Unreachable语句,该方法来自一个辅助文件并生成带有返回的映射。
下面的代码:
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;
}
谁能给我一个光明,我能为杜夫做些什么呢?
您从try
块以及catch
都返回了,因此将永远无法到达最后一个return语句。
您的代码具有多个返回路径。 如果满足条件,则从第一个if
语句返回, else
您将try
阻塞。 在try
您基于if
以及else
来返回,因此,如果没有异常发生,则可以保证从try
块返回,如果发生异常,则具有catch
语句,并且也从那里返回。 因此,您的代码将不可能继续下去。 因此,最后一个return
语句不可访问。
只需按照您的代码。 最后一条return
语句将永远不会运行,因为在此之前的每个其他分支都将导致另一个return
语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.