2012-10-18 15 views
17

Sto utilizzando ACRA (Application Crash Report per Android) per inviare dati quando si verificano eccezioni non gestite.ACRA Android con eccezioni gestite

Metodi come openFileOutput() mi richiedono di provare a catturare iOExceptions. Poiché l'eccezione si trova in un blocco catch try, ARCA non viene attivato. Tuttavia mi piacerebbe ancora ricevere e vedere lo stacktrace. Ci sono dei modi per raggiungere questo obiettivo?

risposta

27

Se la gestione di IOException, ecc. Non ha senso (ovvero, non c'è davvero nulla che si possa fare al riguardo), avvolgerla in un RuntimeException e lanciarla. ACRA prenderà e segnalerà questo. Se non si vuole mandare in crash l'applicazione, catturare e gestirlo, quindi utilizzare handleException() per inviare un report manualmente:

ACRA.getErrorReporter().handleException(caughtException); 

Maggiori dettagli here

+0

C'è qualche possibilità per evita ACRA di inviare eccezione duplicato? (Eccezione duplicata indica un'eccezione duplicata da un dispositivo specifico) –

+2

Eccezione duplicati sul server. Non è possibile farlo ragionevolmente dal lato client, senza mantenere un database di * tutte * le eccezioni inviate finora. –

Problemi correlati