Принудительно закрывать сообщение об ошибке - использовать в обработанных исключениях? - PullRequest
1 голос
/ 15 октября 2010

Я считаю опцию «Принудительное закрытие отчета» очень полезной как разработчик - трассировка стека действительно полезна для просмотра, и я смог решить многие ошибки, используя ее.

Однако в моем приложении есть места, где (вполне справедливо) я использовал оператор try / catch для обработки исключений. Проблема в том, что это предотвращает принудительное закрытие, и поэтому я не могу получить данные об ошибке, которые были бы полезны для исправления ошибок или даже просто для более качественных сообщений об ошибках. Есть ли способ сообщить об исключении, которое было обработано?

А в какой версии Android появилась опция Report?

1 Ответ

0 голосов
/ 15 октября 2010

Если вы обрабатываете исключение самостоятельно, почему бы вам не вызвать функцию, чтобы сообщить о ней?

try {
   [your code]
} catch (BadCodeException e) {
   [handle error]
   MyErrorHandler.ReportError(e);
}

А затем

void ReportError(Exception e) {
   // Take the stack trace, error message, and what ever else comes to your mind,
   // and mail it or store it somewhere or whatever.
}

Что касается вашего другого вопроса - я верю это был Android 2.0.Затем в Android 2.2 были введены трассировки стека в ситуациях ANR (приложение не отвечает).

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

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