try catch捕捉.net线程池中的错误

本文关键字:错误 线程 catch 捕捉 net try | 更新日期: 2023-09-27 18:18:03

在一个应用程序中,我已经注册到EventLog。EntryWritten事件,并使用. net Threadpool线程等待更改事件发生。我认为在这个。net线程池线程中发生了一个异常,所以我想使用try/catch来确保,像这样:

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

我只是想知道我是否有我的try/catch在正确的地方监视这个线程的异常?

try catch捕捉.net线程池中的错误

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

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

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