Exceção não tratada no aplicativo WinForms
Eu tenho um aplicativo WinForms simples que é usado para inserir casos de teste. Desde que atualizei esse aplicativo para o .NET 4.0 e adicionei uma nova página de guia ao controle da página para validar XML contra o esquema XSD, o aplicativo está travando aleatoriamente. Não consegui reproduzir a exceção.
O erro que meu funcionário de controle de qualidade recebe é a mensagem genérica do Windows:
O TestCaseViewer encontrou um problema e precisa fechar. Lamentamos o inconveniente.
Para tentar obter o erro real, adicionei o código a seguir no início do método principal do programa:
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Application.ThreadException += Application_ThreadException;
Os manipuladores de eventos são assim:
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
try
{
MessageBox.Show(e.Exception.ToString(), @"Thread Exception",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
Application.Exit();
}
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
try
{
var ex = (Exception)e.ExceptionObject;
MessageBox.Show(ex.ToString(), @"Unhandled Exception",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
Application.Exit();
}
}
Infelizmente, isso não ajudou e o que quer que esteja causando o erro continua a fazê-lo de uma maneira que gera o erro não tratado que está borbulhando no sistema operacional.
Alguém pode me dar outras idéias sobre como capturar essa exceção?