Android: избегайте сбоев приложения из-за необработанных ошибок

В моем приложении Android я попытался установить блоки Try Catch во всех возможных местах. Однако я хочу избежать сбоя приложения из-за каких-либо необработанных ошибок. Как я могу это достичь?

Я использовал Thread.setDefaultUncaughtExceptionHandler(handler); Но это просто поможет мне правильно получить данные о сбоях?

почему ты хочешь сделать это?

Если есть места, где вы можете поймать исключение и сделать что-то значимое, то есть отобразить полезное предупреждение, а затем продолжить приложение в согласованном и пригодном для использования состоянии, тогда это будет хорошо.

Если вы не можете принять какое-либо значимое действие, то просто позвольте провалу произойти. Существует множество способов получения уведомлений о возникающих ошибках, поэтому вы можете их исправить: посмотрите, например, ACRA . Или консоль Android Developer сообщит о сбое ваших приложений, распространяемых на рынке.

Вы можете использовать следующий способ:

 public class MyApplication extends Application { public void onCreate () { // Setup handler for uncaught exceptions. Thread.setDefaultUncaughtExceptionHandler (new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException (Thread thread, Throwable e) { handleUncaughtException (thread, e); } }); } // here you can handle all unexpected crashes public void handleUncaughtException (Thread thread, Throwable e) { e.printStackTrace(); // not all Android versions will print the stack trace automatically Intent intent = new Intent (); intent.setAction ("com.mydomain.SEND_LOG"); // see step 5. intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); // required when starting from Application startActivity (intent); System.exit(1); // kill off the crashed app } } 

Который будет обрабатывать ваше приложение неожиданными сбоями, что взято из этого ответа .

Я предлагаю вам прочитать об ACRA здесь

Все ошибки и исключения распространяются от Throwable. Улавливая Throwable, можно обрабатывать все неожиданные условия. Но у ловушек Ошибки были бы недочеты. Вы просто можете сделать что-то в блоке catch до краха приложения

Ознакомьтесь с рекомендациями по передовым методам обработки исключений в android

Благодарю Дипака