Java 在我的代码中捕获sqlite可丢弃文件
我正在尝试向sqlite表中添加一条记录 我在保存记录时遇到了问题,我在日志中看到了这一点 但是,我想用祝酒词提示用户出现了问题,错误是什么(如日志中所述) 我怎样才能抓到sqlite throwable并举杯祝酒 sql本身捕获错误,而不将其抛出给调用方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
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()作为