尝试catch来捕获.NET threadpool中的错误

时间:2011-12-14 16:02:14

标签: c# exception try-catch threadpool

在应用程序中,我注册了EventLog.EntryWritten事件,并使用.NET Threadpool线程等待更改事件发生。我认为这个.NET Threadpool线程发生异常,所以我想使用try / catch来确保,如下所示:

try {
eventLog.EntryWritten += new EntryWrittenEventHandler(EventLogMonitor); 
}
catch (System.Componentmodel.Win32exception e)
{
// log error
}

我只是想知道我是否在正确的地方使用try / catch监视此线程是否存在异常?

1 个答案:

答案 0 :(得分:6)

您编写的代码会在注册事件时捕获异常,而不是事件本身。

你应该把try..catch块放在EventLogMonitor方法中。

private void EventLogMonitor (Object sender,EntryWrittenEventArgs e)
{
     try
     { 
       // your logic goes here
     }
     catch (Exception ex)
     {
          //do something with the excpetion
     }

}