我已经设置了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?