Как создать глобальный обработчик ошибок в приложении Windows Form? - PullRequest
6 голосов
/ 01 февраля 2011

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

Например, я сам выкидываю исключение, когда происходит что-то плохое, например,

throw new ArgumentNullException("playlist is empty");

Как я могу это отловитьглобально?

Ответы [ 3 ]

8 голосов
/ 01 февраля 2011

Это можно сделать либо с помощью AppDomain.UnhandledException, либо Application.ThreadException.

Подробнее об этих документах см. В документации.события делают и в чем разница для этих событий.Идея в том, что AppDomain.UnhandledException всегда работает.Application.ThreadException специально для необработанных исключений пользовательского интерфейса.

7 голосов
/ 01 февраля 2011
2 голосов
/ 19 мая 2015

Обработка исключений глобально ...

Приложение Windows

System.Windows.Forms.Application.ThreadException событие

В общем случаеИспользуется в основном методе.См. Исключение потока MSDN

Asp.Net

Событие System.Web.HttpApplication.Error

Обычно используется в файле Global.asax.См. Глобальные обработчики MSDN Global.asax

Консольное приложение

System.AppDomain.UnhandledException событие

Обычно используется в основном методе.См. MSDN UnhandledException

...