WPF глобальный обработчик исключений [дубликат]

Если Вы объявляете набор символов в meta элементе, необходимо сделать это перед любым другим элементом.

321
задан Jakob Möllås 15 June 2016 в 01:50
поделиться

3 ответа

Вы можете обработать AppDomain.UnhandledException событие

РЕДАКТИРОВАТЬ: на самом деле, это событие, вероятно, более подходящее: Application.DispatcherUnhandledException

161
ответ дан 23 November 2019 в 00:56
поделиться

Чтобы дополнить ответ Томаса, класс Application также имеет событие DispatcherUnhandledException , которое вы можете обработать.

3
ответ дан 23 November 2019 в 00:56
поделиться

Вы можете перехватывать необработанные исключения на разных уровнях:

  1. AppDomain.CurrentDomain.UnhandledException Из всех потоков в AppDomain.
  2. Dispatcher.UnhandledException Из одного конкретного Поток диспетчера пользовательского интерфейса.
  3. Application.Current.DispatcherUnhandledException Из основного потока диспетчера пользовательского интерфейса в вашем приложении WPF.
  4. TaskScheduler.UnobservedTaskException из каждого домена приложения, использующего планировщик задач для асинхронных операций.

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

Выбор между №2 и №3 зависит от того, используете ли вы более одного потока WPF. Это довольно экзотическая ситуация, и если вы не уверены, знаете ли вы, то, скорее всего, нет.

497
ответ дан 23 November 2019 в 00:56
поделиться
Другие вопросы по тегам:

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