Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android switch语句之后的不可访问代码_Android_Eclipse - Fatal编程技术网

Android switch语句之后的不可访问代码

Android switch语句之后的不可访问代码,android,eclipse,Android,Eclipse,我在switch语句后出现无法访问的代码错误,我不知道如何解决。我试图删除该行,但如果删除该行,则会出现很多错误。我的代码在上面。有人能帮我吗?提前谢谢。代码确实无法访问: 所有案例都是失败的(它们没有break语句,因此匹配后的所有案例都将执行),并在default案例中结束,该案例引发异常。这意味着抛出异常后的代码将永远不会执行 也许你想做的是rahter这样的事: public Cursor query(Uri paramUri, String[] paramArrayOfString1,

我在switch语句后出现无法访问的代码错误,我不知道如何解决。我试图删除该行,但如果删除该行,则会出现很多错误。我的代码在上面。有人能帮我吗?提前谢谢。

代码确实无法访问:

所有案例都是失败的(它们没有
break
语句,因此匹配后的所有案例都将执行),并在
default
案例中结束,该案例引发
异常。这意味着抛出
异常后的代码将永远不会执行

也许你想做的是rahter这样的事:

public Cursor query(Uri paramUri, String[] paramArrayOfString1, String paramString1,String[] paramArrayOfString2, String paramString2)
  {             
SQLiteQueryBuilder localSQLiteQueryBuilder = new SQLiteQueryBuilder();
    if (paramUri.getPathSegments().size() == 1);
     for (StringBuilder localStringBuilder = null; ; localStringBuilder = new   StringBuilder(100))
      switch (sURIMatcher.match(paramUri))
      {
    case 0:

    case 1:

    case 2:

    case 3:
     default:
      throw new IllegalArgumentException("Unknown URI " + paramUri); 
      }
    localSQLiteQueryBuilder.setTables("category");//unreachable code


    while (true)
    {
      Cursor localCursor = localSQLiteQueryBuilder.query(mOpenHelper.getReadableDatabase(), paramArrayOfString1, paramString1, paramArrayOfString2, null, null, paramString2);
      localCursor.setNotificationUri(contentResolver, paramUri);
      return localCursor;
      localSQLiteQueryBuilder.setTables("shop,category");
      localSQLiteQueryBuilder.appendWhere("shop_category_id=category._id");
      continue;
      localSQLiteQueryBuilder.setTables("shop,category");
      StringBuilder localStringBuilder;
  localStringBuilder.append("shop_category_id=category._id");
      localStringBuilder.append(" AND ");
      localStringBuilder.append("_id");
      localStringBuilder.append('=');
      localStringBuilder.append((String)paramUri.getPathSegments().get(1));
      localSQLiteQueryBuilder.appendWhere(localStringBuilder.toString());
      continue;
     localSQLiteQueryBuilder.setTables("shop,category");
     localSQLiteQueryBuilder.setDistinct(true);
     localStringBuilder.append("shop_category_id=category._id");
     localStringBuilder.append(" AND ");
     localStringBuilder.append("shop_category_id");
     localStringBuilder.append('=');
     localStringBuilder.append((String)paramUri.getPathSegments().get(1));
     localSQLiteQueryBuilder.appendWhere(localStringBuilder.toString());
     paramString2 = "shop._id";
}
}

我想这是因为你的开关坏了……你必须使用
break

 switch (sURIMatcher.match(paramUri)){
    case 0:
      // do something
      break;
    case 1:
      // do something
      break;
    case 2:
      // do something
      break;
    case 3:
      // do something
      break;
    default:
      throw new IllegalArgumentException("Unknown URI " + paramUri); 
  }

谢谢你的回复。我做了更改,但我仍然有这个问题。@melib-真奇怪。请您将新代码添加到问题中,作为对问题的编辑-仅第一行和上面的行-第一行之后的所有内容都是无关的。嘿,非常感谢您的关注,但我解决了问题。我在if之后有一个分号(paramUri.getPathSegments().size()==1)这导致了错误。我删除了它,现在一切都好了。
switch (sURIMatcher.match(paramUri))
  {
case 0:
      //your code
      break;
case 1:
      //your code
      break;
case 2:
       //your code
      break;
case 3:
      //your code
      break;
default:
     //your code
     break;      
 }