【发布时间】:2011-12-14 16:02:13
【问题描述】:
在我注册到 EventLog.EntryWritten 事件的应用程序中,使用 .NET 线程池线程等待更改事件发生。我认为这个 .NET Threadpool 线程中发生了异常,所以我想使用 try/catch 来确保,如下所示:
try {
eventLog.EntryWritten += new EntryWrittenEventHandler(EventLogMonitor);
}
catch (System.Componentmodel.Win32exception e)
{
// log error
}
我只是想知道我的 try/catch 是否在正确的位置来监视此线程是否有异常?
【问题讨论】:
-
你期望它会扔到哪里?它在事件订阅中吗?还是您希望
EventLogMonitor可能会抛出? -
我认为尝试将方法附加到 EntryWritten 事件时不会出现异常。所以 catch 块可能永远不会触发。如果您想捕获代码中可能发生的任何异常,您可以将 try 块包裹在整个方法/代码区域中。因此,例如在 EventLogMonitor 方法中......这根本不是最佳实践。
标签: c# exception try-catch threadpool