我正在使用 .NET 异常管理应用程序块 (EMAB)。
作为其中的一部分,我正在实现 IExceptionPublisher 类。
然而,我想知道如果这些发布者遇到异常会发生什么。
我稍微查了一下,显然 它们应该做这样的事情:
作为其中的一部分,我正在实现 IExceptionPublisher 类。
然而,我想知道如果这些发布者遇到异常会发生什么。
我稍微查了一下,显然 它们应该做这样的事情:
try
{
/* Normal Exception Publishing */
}
catch
{
ExceptionManager.PublishInternalException(exception, additionalInfo);
}
来源:
需要注意的是:如果我们的自定义发布代码出现异常,阻止了消息发布到MSMQ会发生什么?为此,我们转向ExceptionManager.PublishInternalException方法,它将异常发布到默认发布器,即Windows应用程序事件日志。
然而,PublishInternalException既受保护又是内部的,因此我必须实现ExceptionManager而不是IExceptionPublisher才能访问它。