我想知道是否可以为错误消息配置其他属性?我有自己的异常类型,定义如下:
public class DomainException : Exception
{
public string Code { get; private set; }
...
}
我有处理发生的所有错误的通用消费者,但我不知道如何从错误实体获取代码属性。Fault 实体保存有关引发的异常类型、相关消息的信息,但遗憾的是缺少 Code 属性。
是否可以将此信息传递给故障使用者?也许在标题内?
如果您在异常中处于该级别的业务逻辑,建议您自己捕获异常,并发布与您的业务上下文相关的自己的域错误事件。例如,您可以定义自己的 DomainFault 类型:
public interface DomainFault :
Fault
{
string Code { get; }
}
然后,可以使用使用者中的 try/catch 处理程序自行发布它,也可以为使用者管道创建一个筛选器以将其用于多个使用者。