【发布时间】:2011-03-26 04:40:51
【问题描述】:
这段代码有什么问题?它没有捕捉到insertChild() 方法抛出的异常。
childDbOps.open();
try {
childDbOps.insertChild(child);
} catch (SQLiteException exception) {
Log.i("error la inserare child", "on the next line");
exception.printStackTrace();
} finally {
childDbOps.close();
}
错误是:
ERROR/Database(320): android.database.sqlite.SQLiteConstraintException: error code 19:
constraint failed at com.android.dataLayer.DbAdapter.insertChild(DbAdapter.java:169)
at com.android.activities.ChildInsertActivity.onClick(ChildInsertActivity.java:203)
at android.view.View.performClick(View.java:2344)
它是android sqlite。该行是调用插入方法的时间。
【问题讨论】:
-
您是否尝试过使用 catch (Exception e){} 捕获任何异常?它可能会给你一个提示。
-
异常表明它是从哪里抛出的?确保你的所有代码都在一个大的通用 try 块中,看看会发生什么。这是哪个 API - android sqlite?
-
ERROR/Database(320): android.database.sqlite.SQLiteConstraintException: 错误代码 19: com.android.dataLayer.DbAdapter.insertChild(DbAdapter.java:169) 在 com.android 的约束失败.activities.ChildInsertActivity.onClick(ChildInsertActivity.java:203) 在 android.view.View.performClick(View.java:2344) 是的,它是 android sqlite。该行是调用插入方法的时间
-
你应该将stackoverflow.com/questions/3421577/try-catch-problem/…标记为正确答案:-)
标签: java android exception-handling try-catch