4

我已经设置 UnhandledException 以在我的服务崩溃之前记录任何异常。

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(unhandledException);

我正在通过抛出和未处理的异常来测试它。

throw new Exception("TestExcepion");

private void unhandledException(object sender, UnhandledExceptionEventArgs e)
{
    // Logs to Log4Net but its not reaching here.
    Log.Info("Unhandled Exception: " + (e.ExceptionObject as Exception).ToString());
}

我正在尝试unhandledException使用 Log4Net 在我的方法中记录它,但我什么也没得到。

为什么没有捕获异常?

4

1 回答 1

4

可能是你的抛出代码在使用集之前AppDomain.CurrentDomain.UnhandledException或者因为你把它放在OnStart方法中

第二种选择是因为它是ThreadException.

之前在以下线程中讨论了 Bot 上述问题:

  1. 如何在 Windows 服务中设置 .NET UnhandledException 处理?
  2. Windows 服务的全局异常处理程序?
于 2013-09-03T11:46:35.507 回答