Lanzar excepciones a través de varios procesos

Tengo el servicio remoto en un proceso separado y en este servicio remoto, por ejemplo, estoy llamando a un método que arroja una excepción de tiempo de ejecución personalizada si hay algún problema. - Quiero manejar esa excepción en la interfaz de usuario.

Pero según tengo entendido, no puedo lanzar una excepción de un proceso a otro. ¿Cuál es la solución para esta situación?

ACTUALIZADO: estoy obteniendo:

E/JavaBinder(1544): *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)

preguntado el 02 de febrero de 12 a las 11:02

Muestre su código, también detalles de logcat para obtener los detalles del problema. -

El problema es que lanzo CustomRuntimeException que no puede implementar la interfaz Parcelable, así que obtengo: 01-01 00: 49: 24.997: W / System.err (1486): java.lang.NullPointerException 01-01 00: 49: 25.017: W /System.err(1486): en android.os.Parcel.readException (Parcel.java:1240) -

1 Respuestas

Creo que puedes, pero no es tan fácil. Para hacer esto, debe realizar manualmente la comunicación IPC entre su servicio y actividad. Es decir, debe crear una interfaz que extienda IInterface. Después de eso, debe realizar manualmente las clases Stub y Proxy para esta interfaz. Y en estas clases debe realizar manualmente la comunicación entre este proxy y las clases stub (es decir, aquí puede enviar excepciones entre procesos).

Creo que es más fácil enviar, por ejemplo, un número entero en su caso. Y en Actividad solo verifique este valor entero. Si es igual al valor predefinido, puede lanzar su Excepción de tiempo de ejecución personalizada.

Respondido 02 Feb 12, 15:02

¿Puedo hacer esto: 1) a través de Handler? 2) ¿a través de devoluciones de llamada? - user1074896

Si está hablando de pasar un entero simple, puede hacerlo usando la devolución de llamada, por ejemplo. - Yury

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.