¿Es posible obtener detalles de error específicos de Android SQLiteConstraintException?
Recibo el siguiente error para ciertos datos, y el concepto es lo suficientemente claro:
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
Sin embargo, eso no me ayuda a encontrar qué registro específico tiene el FK no válido. En lugar de agitar mi código e intentar aislar cada inserción con una nueva transacción, ¿hay alguna forma de activar (o extraer) el registro con detalles útiles como la tabla en cuestión o incluso el valor FK que está causando problemas?
Además, estoy usando SqlBrite y he activado el inicio de sesión de depuración (eso solo registra las operaciones, todavía no obtengo más información sobre el error)
Actualizar: Aquí está todo el logcat sobre mi propio código; esencialmente la excepción se detecta al intentar cerrar una transacción (BriteDatabase.Transaction) abierta anteriormente (el objeto BriteDatabase.Transaction es una nueva adición; acabo de migrar de SqlBrite 0.1.0 a 0.4.1).
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:522)
at com.squareup.sqlbrite.BriteDatabase$1.end(BriteDatabase.java:85)