Глобальные обработчики исключений в Java

Я думаю об установке глобального, Обработчика исключений по умолчанию для моего (Android) Мобильное приложение (который использует синтаксис Java), использование Thread.setDefaultUncaughtExceptionHandler(...) звонить. Я думаю о просто отображении Аварийного Диалогового окна с соответствующим сообщением пользователю.

Есть ли любые глюки, протесты, и постановляет, что нужно следовать при установке DefaultExceptionHandlers? Какие-либо лучшие практики как проверка, что процесс уничтожается, полное отслеживание стека, записаны в журналы и т.д.?

Ссылки на документацию, учебные руководства и т.д., которые могут пролить некоторый свет на это, приветствуются.

Спасибо.

7
задан Samuh 12 May 2010 в 04:11
поделиться

2 ответа

  • Название немного вводит в заблуждение, потому что использование этого метода установит обработчик исключений по умолчанию для всех потоков.
  • Убедитесь, что из вашего обработчика исключений не могут быть выброшены исключения.
  • Если вы выполняете GUI-функции из обработчика исключений, убедитесь, что вы делаете это из правильного потока.
  • Не пойманное исключение остановит только тот поток, в котором произошло исключение, приведет ли это также к завершению процесса, зависит от любых других потоков, которые могут быть запущены.
2
ответ дан 7 December 2019 в 16:40
поделиться

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

Если вы имеете в виду, что при возникновении исключения выводится сообщение, а затем приложение завершается, то все будет в порядке.

1
ответ дан 7 December 2019 в 16:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: