是否有可能让错误处理更清晰、更易读?我的版本似乎有点笨重:
public synchronized void doSomeTrans(...) throws Exception {
Exception ex = null;
SQLiteDatabase db = null;
boolean bTrans = false;
try {
db = getWritableDatabase();
db.beginTransaction();
bTrans = true;
db.execSQL(...);
db.execSQL(...);
db.setTransactionSuccessful();
}
catch (Exception ex1) {
ex = ex1;
}
if (db != null) {
if (bTrans != false)
db.endTransaction();
db.close();
}
if (ex != null)
throw ex;
}
此外,在我的版本中,我没有围绕 endTransaction 方法进行任何错误处理,如果此方法抛出异常,我的数据库仍然存在打开。我认为这不好,但不确定在 try/catch 块上添加新内容是这种情况下的最佳解决方案。