我的代码看起来像这样:
ContentValues values = new ContentValues();
values.put("year", year);
values.put("month", month);
database.insert(MySQLiteHelper.TABLE_DATA, null, values);
一切正常,但不幸的是,插入查询将始终在我的一个用户设备上返回-1。我的应用程序有bug,所以现在我改变了
插入
到
database.insertOrThrow
希望当用户的手机再次发生错误时,bugsnag会通知我。但只是为了确保(因为我之前从未使用过insertOrThrow;通常只是插入封装在try catch中),上面的代码是否足够?当插入时发生错误时,bugsnag会捕获它吗?也许我的问题可归纳为'如何处理insertOrThrow抛出?'
答案 0 :(得分:2)
insertOrThrow
会抛出SQLException,这是RuntimeException
的子类。
Bugsnag会通过注册Thread.UncaughtExceptionHandler自动处理您应用中未捕获的任何异常,因此您无需执行任何其他操作即可捕获该事件。
答案 1 :(得分:0)
请确保在解决此问题的情况下,将创建表时已声明的所有值都放入该表中。