您的位置:首页 > 移动开发 > Objective-C

解决 DatabaseObjectNotClosedException

2012-04-06 17:47 204 查看
今天在运行测试应用的时候出现以下exception:

04-05 17:09:21.988: E/Database(3101):android.database.sqlite.DatabaseObjectNotClosedException: Application did notclose the cursor or database object that was opened here

貌似说我没有关掉数据或者数据库游标,可是查了半天代码也找不到哪里错了,因为所有用到的db或者cursor
都写close()函数,不晓得为什么还会出现这样的问题。

后来我又仔细察看了log,发现在该exception之前又出现了NullPointerException, 而且发出该NullPointerException的地方是在cursor.close()之前,也就是说前一个exception导致程序退出,退出时发现cursor没关,于是又报了一个DatabaseObjectNotClosedException.

现在解决办法是在使用cursor的地方加了一个,try{}catch{}finally{}, 把cursor.close()放在finally里面最保险了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐