没有捕获SQLiteException

zim*_*311 4 java sqlite android exception

我正在尝试捕获"android.database.sqlite.SQLiteException:错误代码5:数据库被锁定"异常:

    try {
        db.insert("mytable", null, myvalues);
    } catch(SQLiteException e) {
        Log.d("My App", "caught");

        ...
    }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我仍然得到错误,并且"抓住"没有出现在LogCat中.我尝试捕获一般的"例外",但仍然无效.怎么了?

更新 我发现了这个问题,这真的很奇怪:出于某种原因,将db.insert()更改为db.insertOrThrow(),因为goto10声明修改了所有内容.错误来自该行,但也许它不是抛出异常而只是崩溃或什么?

got*_*o10 10

我不相信.insert会抛出异常.您可能只是看到它在内部捕获异常时正在写入的日志消息.如果您希望在插入失败时抛出异常,请.insertOrThrow改用.

  • 对.如果有`.insert`,如果有任何错误,该方法将返回`-1`. (3认同)