3

我的代码看起来像这样:

ContentValues values = new ContentValues();
values.put("year", year);
values.put("month", month);
database.insert(MySQLiteHelper.TABLE_DATA, null, values);

一切正常,但不幸的是,插入查询将始终在我的用户设备之一上返回 -1。我的应用程序有错误,所以现在我更改了

插入

数据库.insertOrThrow

希望当用户的手机再次出现错误时,bugsnag 会通知我。但只是为了确保(因为我以前从未使用过 insertOrThrow;通常只是插入封装在 try catch 中),上面的代码是否足够?当插入发生错误时,bugsnag 会捕获它吗?也许我的问题可以概括为“如何处理 insertOrThrow 中的 throw?”

4

2 回答 2

2

insertOrThrow发生错误时抛出SQLException,这是RuntimeException.

Bugsnag 将通过注册 Thread.UncaughtExceptionHandler 自动处理您的应用程序中的任何未捕获的异常因此您不需要执行任何其他操作来捕获事件。

于 2017-08-02T09:33:24.217 回答
0

在我的情况下,确保您在创建表期间声明的所有值都可以解决问题。

于 2019-05-31T05:25:00.763 回答