将自定义属性添加到错误实体



我想知道是否可以为错误消息配置其他属性?我有自己的异常类型,定义如下:

public class DomainException : Exception 
{
  public string Code { get; private set; } 
 ...
}

我有处理发生的所有错误的通用消费者,但我不知道如何从错误实体获取代码属性。Fault 实体保存有关引发的异常类型、相关消息的信息,但遗憾的是缺少 Code 属性。

是否可以将此信息传递给故障使用者?也许在标题内?

如果您在异常中处于该级别的业务逻辑,建议您自己捕获异常,并发布与您的业务上下文相关的自己的域错误事件。例如,您可以定义自己的 DomainFault 类型:

public interface DomainFault : 
    Fault
{
    string Code { get; }
}

然后,可以使用使用者中的 try/catch 处理程序自行发布它,也可以为使用者管道创建一个筛选器以将其用于多个使用者。

最新更新