Необработанное исключение - PullRequest
2 голосов
/ 23 ноября 2010

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

Есть ли способ, когда событие срабатывает, вместо стандартного окна сообщения, отображающего необработанныеисключение, могу ли я отключить это и отобразить свою собственную с другой информацией?

Спасибо.

Ответы [ 4 ]

2 голосов
/ 23 ноября 2010

Обработайте событие Application.ThreadException, чтобы отобразить ваши собственные сообщения об ошибках.

Вы можете перехватить событие в верхней части основного метода следующим образом:

Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

И тогда вам нужен метод Handler:

static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
    MessageBox.Show(e.Exception.ToString());
}

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

2 голосов
/ 23 ноября 2010

Если вы реализуете это, вы можете делать с ним все, что захотите.Покажите его в MessageBox или запишите в файл журнала.

1 голос
/ 23 ноября 2010

Вы можете сделать это,

catch(Exception e)
{
throw new Exception("This is unhandled exception");
}
0 голосов
/ 23 ноября 2010

Посмотрите на Application.SetUnhandledExceptionMode .

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