Dưới đây là một số mã khá mạnh mẽ mà chúng tôi khuyên mọi người nên sử dụng khi họ triển khai http://exceptioneer.com trong Ứng dụng Windows của họ.
namespace YourNamespace
{
static class Program
{
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
HandleException(e.Exception);
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
HandleException((Exception)e.ExceptionObject);
}
static void HandleException(Exception e)
{
//Handle your Exception here
}
}
}
Cảm ơn,
Phil.
Câu trả lời phù hợp nhất cho các Dịch vụ Windows có thể tìm thấy tại đây: http://stackoverflow.com/a/5117790/986720 Nó giải thích lý do ngoại lệ không bị xử lý bởi AppDomainUnhandledException –