Como re-lançar uma exceção
No meu onCreate () eu defino um manipulador UncaughtException da seguinte maneira:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
Log.e(getMethodName(2), "uncaughtException", throwable);
android.os.Process.killProcess(android.os.Process.myPid());
}
});
Funciona bem, mas eu gostaria de recuperar o comportamento padrão do sistema de exibir o diálogo force-close para o usuário.
Se eu tentar substituir oKillProcess()
ligar com umthrow throwable
o compilador reclama que eu preciso cercá-lo com um try / catch.
Se eu cercar com um try / catch:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
try {
Log.e(getMethodName(2), "uncaughtException", throwable);
throw throwable;
}
catch (Exception e) {
}
finally {
}
}
});
O compilador ainda reclama quethrow throwable
precisa ser rodeado por um try / catch.
Como faço para voltar a jogar isso? Tal que, exceto para esse informativoLog.e()
o sistema se comporta exatamente como antes: Como nunca defini um manipulador de UncaughtException padrão.