PhoneGap и ловить глобальные исключения Android - PullRequest
0 голосов
/ 06 июня 2011

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

Во всяком случае, представление о том, что я делаю не так? Есть ли другой метод, который я должен попробовать?

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {

        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            Log.e("uncaught error",ex.getMessage());
            Log.e("uncaught error",ex.getStackTrace().toString());

        }
    });

1 Ответ

0 голосов
/ 06 июня 2011

На самом деле, это не звучит как отличная идея.

Был разработан механизм исключения, который отвечает на каждое исключение индивидуально.Конечно, вы можете точно настроить его и иметь очень специальное предложение catch для каждого типа исключения или использовать более грубый подход и группировать исключения вместе, используя наследование.

Но наличие одного предложения catch для всего, что происходит, не являетсяочень хорошая идеяХотя есть один случай, в котором я бы порекомендовал этот шаблон: для сервера, который должен быть особенно надежным и всегда работоспособным, способным восстанавливаться в любой ситуации.

Но для приложения для Android нет.

Итак, я бы порекомендовал вам внимательно следить за тем, где ваш код выдает исключение через logcat, и исправлять все проблемы, с которыми сталкивается ваша программа.И если вы ищете способ, в каком-то месте, а не во всей программе, поймать то, что выброшено, используйте интерфейс Throwable, суперкласс (интерфейс) всего, что можно выбросить.

try
{
  //your code
}//try
catch( Throwable t)
{
  t.printStackTrace();
}//catch

С уважением, Стефан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...