NSNotFound在Java中是等价的
我需要知道是否有一种方法可以说Java Android中找不到NSNotFound在Java中是等价的,java,android,Java,Android,我需要知道是否有一种方法可以说Java Android中找不到inttype。 我正在编写一个android应用程序,它实际上是第一个为Iphone编写的,有一个小问题。在某些时候,我必须检查返回方法的int类型是否未找到,如果为真,则进行一些计算。问题是,当我在Java中作为if(Id==0)这样做时,即使Id为0,它也会抛出一个异常 这是我的方法: private static int localUserIdByServerUserId(int serverUserId, Strin
int
type。
我正在编写一个android应用程序,它实际上是第一个为Iphone编写的,有一个小问题。在某些时候,我必须检查返回方法的int
类型是否未找到,如果为真,则进行一些计算。问题是,当我在Java中作为if(Id==0)
这样做时,即使Id为0,它也会抛出一个异常
这是我的方法:
private static int localUserIdByServerUserId(int serverUserId, String serverName){
dbHelper = new DataBaseHelper(context, "stampii_sys_tpl.sqlite", null, 1);
dbHelper.getDatabase();
String query = "SELECT id FROM users WHERE objectId = "+serverUserId+" AND serverName = '"+serverName+"' LIMIT 1";
ArrayList<String> result = new ArrayList<String>();
cursor = dbHelper.executeSQLQuery(query);
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
result.add(cursor.getString(cursor.getColumnIndex("id")));
cursor.moveToNext();
}
Log.i("result ","Result : "+result.toString());
Log.i("CURSOR ","Cursor Position : "+cursor.getPosition());
int uuid = Integer.parseInt(result.get(cursor.getColumnIndex("objectId")+1));
Log.w("localUSerByIdServerUserId","LocalUserByIdServerUserId result : "+uuid);
cursor.close();
return uuid;
有什么建议吗?
lUserIdByServerUserId()
在找不到用户时可能引发异常
e、 g
您需要修改lUserIdByServerUserId()
以引发异常。如果Java库中还没有合适的异常,您可能还需要定义自己的NotFoundException
类
编辑:
或者,根据@mthpvg的答案,您可以更改lUserIdByServerUserId()
以返回整数
类型,如果未找到并测试该类型,则可以将其设置为null
e、 g
你能发布你得到的异常的堆栈跟踪吗?
int uuId = rpc.lUserIdByServerUserId(userId,newServerName);
Log.w("uuId","uuId : "+uuId);
if(uuId==0){
// do some calculations
}
try {
int uuId = rpc.lUserIdByServerUserId(userId,newServerName);
Log.w("uuId","uuId : "+uuId);
}
catch (NotFoundException nfe) {
// do some calculations
}
Integer uuId = rpc.lUserIdByServerUserId(userId,newServerName);
if (uuId == null) {
// Do some calculations
}