Какое из следующих двух я должен использовать, чтобы убедиться, что все курсоры закрыты?
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();
}
EDIT:
Несколько вопросов:
1. Нужно ли нам называть курсор close() на курсоре с числом 0?
2. Поскольку в этом случае для первой идиомы, close() никогда не будет вызван. Он предполагает, что для курсора, не имеющего элементов, курсор никогда не будет открыт. Является ли это допустимым предположением?
Просьба сообщить.