c# - try catch 捕获 .NET 线程池中的错误

标签 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 是否在正确的位置以监视此线程的异常?

最佳答案

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

您应该将 try..catch block 放在您的 EventLogMonitor 方法中。

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

}

关于c# - try catch 捕获 .NET 线程池中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8507581/

相关文章:

c# - ASP.NET 应用程序状态提供程序

c# - Oracle 客户端与基于任务的异步模式(异步/等待)

c# - 将文件传输到目的地时取消文件传输

ruby - 异常类如何获得引发它的对象?

c# - 为什么 ThreadAbortException 不抛出 catch block

c# - 迁移问题 - EF 认为数据库需要更新,引用它的项目不会运行

java - 我们如何在HandlerInterceptorAdapter中处理异常?

scala序列化总是抛出异常,为什么?

java - Try-With-Resources 中的多个资源 - 里面的语句

java - 捕获重复键插入异常