Регистрация обработанных исключений - PullRequest
3 голосов
/ 17 ноября 2010

Я занимаюсь разработкой приложения WPF .net 3.5, в котором используются другие модули / библиотеки, созданные внутри компании. Не все из них поддерживают ведение журналов, и иногда информация об обработанных исключениях может быть весьма полезна, чтобы выяснить, в чем дело. Таким образом, вопрос в том, могу ли я получить какое-либо уведомление или подключение как-то для обработанных событий в других модулях?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 20 февраля 2013

В сети 4.0 и выше есть решение:
Событие AppDomain.FirstChanceException срабатывает до выполнения любого блока перехвата.

Эта статья MSDN есть несколько примеров.

По сути, вы просто добавляете обработчик событий, например так:

    AppDomain.CurrentDomain.FirstChanceException += 
        (object source, FirstChanceExceptionEventArgs e) =>
        {
            Console.WriteLine("FirstChanceException event raised in {0}: {1}",
                AppDomain.CurrentDomain.FriendlyName, e.Exception.Message);
        };
2 голосов
/ 17 ноября 2010

Есть два события, Application.DispatcherUnhandledException и AppDomain.CurrentDomain.UnhandledException, которые могут вам помочь.В противном случае, я думаю, вам не повезло, особенно если модули сами обрабатывают исключения.Единственный способ состоит в том, чтобы подключить отладчик, поскольку в нем появляются исключения первого шанса.

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