Идиома для закрытия курсора

Что из следующих двух мне следует использовать, чтобы убедиться, что все курсоры закрыты?

    Cursor c = getCursor(); 

    if(c!=null && c.getCount()>0){ 
        try{ 
            // read values from cursor 
        }catch(..){} 
        finally{ 
            c.close(); 
        } 
    }//end if

    OR

    Cursor c = getCursor(); 
    try{ 
        if(c!=null && c.getCount()>0){ 
            // read values from cursor 
        }//end if 
    }catch(..){

    }finally{ 
        c.close(); 
    } 

РЕДАКТИРОВАТЬ:
Несколько вопросов:
1. Нужно ли нам вызывать close () для курсора, у которого счетчик 0?
2. Потому что в этом случае для первой идиомы close () никогда не будет вызываться. Предполагается, что для курсора, не имеющего элементов, курсор никогда не будет открыт. Это верное предположение?

Пожалуйста, сообщите.

11
задан Manish Khot 10 November 2010 в 13:00
поделиться