SQLiteConstraintException no detectado

¿Cuál es el problema con este código? No captura la excepción lanzada por el método 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(); } 

El error es:

 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) 

Es androide sqlite. La línea es cuando se llama al método insert.

El método SQLiteDatabase.insert () se utiliza en los casos en que desea manejar escrituras de base de datos sin desenrollar la pila si falla una escritura. Si desea capturar excepciones al insertar en la base de datos, utilice el método [SQLite.insertOrThrow (] [1]). Lanzará una excepción que usted puede entonces coger y manejar.

[1]: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insertOrThrow(java.lang.String , java.lang.String, android.content.ContentValues)

Estás captando sólo excepciones del tipo SQLiteException . Si el método insertChild arroja cualquier otra excepción, no se insertChild .

 try { childDbOps.insertChild(child); } catch(SQLiteException exception) { Log.i("error la inserare child", "on the next line"); exception.printStackTrace(); } catch(AnotherException exception) { //handle it } //Catch them all here catch(Exception exception) { //handle it: must handle it, don't just swallow it. } finally { childDbOps.close(); } 

@bogdan está allí cualquier otro lugar u está llamando insertChild (niño); Aparte de este lugar. Has puesto un rastro en bloque try para saber si se trata de este bloque e imprimir el rastro como a continuación.

Intente {Log.i ("viene aquí");
ChildDbOps.insertChild (hijo); }

Házmelo saber.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.