在我的服务中,所有公开的方法都具有:

try
{
    // the method core is written here
}
catch(Exception ex)
{
    Log.Append(ex);
}

一遍又一遍地重复它,既无聊又丑陋。有什么办法可以避免这种情况?有没有更好的方法即使在发生异常时也能保持服务正常运行,并继续将异常详细信息发送到Log类?

最佳答案

您可以为所有未捕获的异常设置通用的错误处理方法,如下所示:

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

根据出了什么问题,您可能无法从错误中恢复……但这希望可以使您对出了什么问题有所了解。如果到达您的应用程序代码未妥善处理异常的地步,则此方法可以尝试将服务重新初始化为已知的工作状态。

10-04 18:50