开发者

NSNotFound equivalent in Java

I need to know if there is a way to say that int type is not found in Java Android. I'm writing an android application,which is actually written first for Iphone, and have a little issue. At some point I have to check if the int type which returns a method is not found and if it's true do some calculations. The problem is that when I did that in Java as if(Id==0) it's throwing me an exception even if the Id is 0.

this is my method :

    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.getCo开发者_运维百科lumnIndex("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;

and here is how I'm using it :

int uuId = rpc.lUserIdByServerUserId(userId,newServerName);
        Log.w("uuId","uuId : "+uuId);
        if(uuId==0){
            // do some calculations
        }

Any suggestions ?


lUserIdByServerUserId() could throw an exception when the user is not found.

e.g.

try {
    int uuId = rpc.lUserIdByServerUserId(userId,newServerName);
    Log.w("uuId","uuId : "+uuId);
}
catch (NotFoundException nfe) {
    // do some calculations
}

You will need to modify lUserIdByServerUserId() to throw the exception. You may also need to define your own NotFoundException class if a suitable exception doesn't already exist in the Java libraries.

EDIT: Alternatively, following on from @mthpvg's answer, you could change lUserIdByServerUserId() to return an Integer type, which can be set to null if not found and tested.

e.g.

Integer uuId = rpc.lUserIdByServerUserId(userId,newServerName);
if (uuId == null) {
    // Do some calculations
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜