Там какой-либо путь состоит в том, чтобы обработать все Ошибочные Исключения и катастрофические отказы в приложении WPF?
Я знаю о DispatcherUnhandledException
, но это обрабатывает только исключения в потоке UI, не так ли?
Существует ли способ поймать и зарегистрировать все исключения в других потоках и ошибках привязки также?
Имейте в виду, что Microsoft не рекомендует перехватывать все исключения, вместо этого они рекомендуют перехватывать только те исключения, которые вам известны (или которые могут произойти в каком-то месте). Более того, если вы хотите получить логотип «Certified for Microsoft [Windows | Vista]», вы не должны перехватывать неизвестные исключения, и такие исключения должны поступать в Wer .
AppDomain.CurrentDomain.UnhandledException
Перехватывает любые необработанные исключения для текущего потока. Вот как мы обрабатываем это в нашем приложении.
BindingErrors всегда обрабатываются и записываются в окно вывода. Перед выпуском мы проверяем окно вывода на наличие ошибок привязки и исправляем столько, сколько сможем.
Однако я считаю, что вы не захотите рассматривать ошибки привязки как необработанные, поскольку они в основном исправимы и должны быть исправлены как можно лучше перед каждым выпуском. Вы можете изменить Debug> Exeptions в Visual Studio, чтобы он выбрасывал BindingFailure для получения более конкретной информации.
Да, есть 3 места:
Application.Run ()
в попробуйте
... catch
DispatcherUnhandledException
AppDomain.CurrentDomain.UnhandledException
В любом случае вы должны отобразить Пожалуйста, прости меня, и предлагаю отправить отчет об ошибке.
Служба на вашем сервере должна ответить либо «спасибо за отправку отчета об ошибке», либо «проблема уже устранена в следующей версии. пожалуйста, обновите "