Tengo un proveedor de contenido personalizado en mi aplicación de Android que funciona razonablemente bien. Espero que otras aplicaciones también accedan a mi proveedor de contenido. Me gustaría alguna forma limpia de comunicar excepciones y errores, pero hasta donde puedo decir, el marco del proveedor de contenido de Android no proporciona ninguna forma de propagar excepciones entre los procesos.Manejo de excepciones (de proceso cruzado) en el proveedor de contenido personalizado de Android
¿Cómo debo indicar un estado de excepción a mi interlocutor? ¿Tengo que codificarlo de alguna manera en mis datos devueltos y confiar en los clientes para verificarlo? ¿Hay alguna alternativa? Si es la codificación en los datos de retorno ordinarios, ¿cuál es la mejor manera? (Puedo ver una serie de alternativas para la Cursor
devuelto por una llamada query
, pero ¿y el Uri
devuelto por insert
, o la int
devuelto por update
o delete
?)
Cuando intentó subir algún tipo de 'RuntimeException' de su' ContentProvider', ¿qué pasó? – CommonsWare
El uso de 'ContentProviderClient',' query' e 'insert' devuelve' null' cuando el proveedor arroja 'RuntimeException'. En el logcat puedo ver un mensaje con la etiqueta 'JavaBinder':' *** ¡Excepción remota no detectada! (Todavía no se admiten excepciones en todos los procesos) ' –