系统相关
首页 > 系统相关> > 在Windows服务中不会引发CurrentDomain.UnhandledException

在Windows服务中不会引发CurrentDomain.UnhandledException

作者:互联网

我设置了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());
}

我正在尝试使用Log4Net在unhandledException方法中记录此消息,但是我什么也没收到.

为什么没有捕获到异常?

解决方法:

您的抛出代码可能是在使用set AppDomain.CurrentDomain.UnhandledException之前使用的,或者是因为您将其放在OnStart方法中

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

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

> How can I set up .NET UnhandledException handling in a Windows service?
> Global exception handler for windows services?

标签:unhandled-exception,c
来源: https://codeday.me/bug/20191122/2062764.html