Capture todo tipo de excepciones programando Android

Resuelto Archimedis asked hace 54 años • 4 respuestas

Estoy desarrollando una aplicación para el sistema operativo Android. Dado que esta es mi primera aplicación, creo que he cometido algunos errores de programación porque difícilmente puedo rastrear los errores hasta sus causas. Por lo tanto, estaba adivinando, mientras intento corregir errores, ¿hay alguna manera de detectar TODOS los tipos de excepciones en todo el ciclo de vida de mi actividad con un solo intento?

Eso sería fantástico, me estoy aburriendo de ver a mi Galaxy S decir: "Lo siento, la aplicación se ha detenido inesperadamente" :(

Archimedis avatar Jan 01 '70 08:01 Archimedis
Aceptado

Realmente, realmente no recomiendo esto...

try {
     ...
} catch (Exception e) {
     // This will catch any exception, because they are all descended from Exception
}

¿Está mirando los seguimientos de su pila para depurar sus problemas? No debería ser difícil localizarlos. Mire LogCat y revise el gran bloque de texto rojo para ver qué método causó su falla y cuál fue su error.

Si detecta todos sus errores de esta manera, su programa no se comportará como se esperaba y no recibirá informes de errores de Android Market cuando sus usuarios los informen.

Puede utilizar un UncaughtExceptionHandler para posiblemente evitar algunos fallos. Utilizo uno, pero solo para imprimir seguimientos de pila en un archivo, para cuando estoy depurando una aplicación en un teléfono lejos de mi computadora. Pero paso la excepción no detectada al UncaughtExceptionHandler predeterminado de Android después de haberlo hecho, porque quiero que Android pueda manejarla correctamente y darle al usuario la oportunidad de enviarme un seguimiento de la pila.

Tenfour04 avatar Apr 25 '2011 00:04 Tenfour04

Supongo que es java puro.

try {

} catch(throwable t) {

}

Pero esta es una muy mala práctica.

También mira

Configuración del controlador UncaughtException

MJB avatar Apr 24 '2011 23:04 MJB

Si está en Eclipse, cada excepción que fuerza el cierre de la aplicación (también conocido como el mensaje que menciona) debe registrarse en el "LogCat".

La forma más sencilla de ver LogCat es abrir la perspectiva DDMS y hacer clic en la pestaña LogCat (o abrirla desde el menú "Ver" si aún no se muestra).

Vicente Plata avatar Apr 25 '2011 00:04 Vicente Plata