Windows 服务中未经处理的异常
本文关键字:处理 异常 服务 Windows | 更新日期: 2023-09-27 18:34:20
我创建了一个运行多个任务的.net c# Windows服务。我在其中包含了异常处理,但我想设置一个全局处理程序来捕获 Windows 服务中未经处理的异常,我该怎么做?
我在其中包含了异常处理,但我想设置一个全局处理程序来捕获 Windows 服务中未经处理的异常
您可以使用AppDomain.UnhandledException
. 但是,在您的情况下,对服务的整个调用可以包装在 try/catch 块中。 由于您尚未提供计划如何处理此未经处理的异常的详细信息,因此我认为在这种情况下,您的正确途径是让服务崩溃。
try
{
MainCallToYourService();
}
catch (Exception)
{
//it's probably too late to do anything useful here, try to log and die
}
但请记住,这样做的问题是,在很多情况下,引发此事件时应用程序的状态已损坏。 你最好的选择是尝试记录它并离开。