Java 在我的代码中捕获sqlite可丢弃文件

Java 在我的代码中捕获sqlite可丢弃文件,java,android,sql,sqlite,Java,Android,Sql,Sqlite,我正在尝试向sqlite表中添加一条记录 我在保存记录时遇到了问题,我在日志中看到了这一点 但是,我想用祝酒词提示用户出现了问题,错误是什么(如日志中所述) 我怎样才能抓到sqlite throwable并举杯祝酒 sql本身捕获错误,而不将其抛出给调用方 public void addItem(Offer offer) { Log.d(MyLogger.TAG, "add saved-offer"); // 1. get reference to writable DB

我正在尝试向sqlite表中添加一条记录

我在保存记录时遇到了问题,我在日志中看到了这一点

但是,我想用祝酒词提示用户出现了问题,错误是什么(如日志中所述)

我怎样才能抓到sqlite throwable并举杯祝酒

sql本身捕获错误,而不将其抛出给调用方

public void addItem(Offer offer) {
    Log.d(MyLogger.TAG, "add saved-offer");
    // 1. get reference to writable DB
    SQLiteDatabase db = this.getWritableDatabase();

    // 2. create ContentValues to add key "column"/value
    ContentValues values = new ContentValues();
    values.put(KEY_UID, offer.getId().toString());
    values.put(KEY_ADDRESS, offer.getAddress());

    // 3. insert
    db.insert(TABLE_NAME, // table
            null, // nullColumnHack
            values); // key/value -> keys = column names/ values = column
                        // values

    String text = String.format("item was added to table: {0}", TABLE_NAME);
    Log.d(MyLogger.TAG, text);
    Toast.makeText(mContext, text, Toast.LENGTH_LONG);

    // 4. close
    db.close();
}
相关问题:

您需要使用方法
db.insertOrThrow()
而不是
insert()
,因为insert()不会引发异常。但是,您仍然可以使用insert()确定它是否失败

请参阅本文档:

返回 新插入行的行ID,如果发生错误,则为-1

至于获取异常并将其打印,只需在catch块中制作toast,其中e.GetMessage()作为