В методе OnStartup
определяю следующий код:
AppDomain.CurrentDomain.UnhandledException += delegate(object sender, UnhandledExceptionEventArgs args) {
//Запись в лог
};
Судя по документации он должен отлавливать все ранее не обработанные исключения, он срабатывает, идет запись в лог, а после этого приложение падает. Когда я запустил приложение в режиме отладки и сгенерировал исключение, оно вызвало обработчик, но после этого в Visual Studio появился помощник исключения, как будто исключение возникло без какой-либо обработки.
Что я делаю не так?
UDP. Как модифицировать код так, что-бы не только получать уведомление об исключениях, но еще их перехватывать?
Можно перехватывать необработанные исключения на разных уровнях:
AppDomain.CurrentDomain.UnhandledException
- перехватывает из всех потоков в приложении.Dispatcher.UnhandledException
- перехватывает из одного конкретного потока диспетчера UI.Application.Current.DispatcherUnhandledException
- перехватывает из потока диспетчера UI main в приложении WPF.TaskScheduler.UnobservedTaskException
- перехватывает в каждом AppDomain, который использует планировщик задач для асинхронных операций.Выбор между № 2 и № 3 зависит от того, используете ли вы более одного потока WPF. Это довольно экзотическая ситуация, и если вы не уверены, так это или нет, то, скорее всего, нет.
Источник
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Возможно очень глупый вопрос от новичкаБуду рад прочесть все что скинете
Использую nuget библиотеку MicrosoftXmlDiffPatch, получаю результат сравнения двух xml с помощью XmlDiff
Что бы было проще, объясню на примере чатовЕсть пользовать П1, и есть пользователь П2, они между собой ведут беседу, естественно данные об их беседе...