在我的Exception类中,我传递了一个IEnumerable的IpAddresses。抛出异常时,这就是我所看到的。
为什么它没有给我一个选项来查看我的IEnumerable中的值?
以下是导致问题的代码:
public class CustomException : Exception
{
public List<string> IpAddresses { get; private set; }
public CustomException(string message, IEnumerable<string> ipAddresses)
: base(message)
{
IpAddresses = ipAddresses;
}
}
提前致谢。
答案 0 :(得分:1)
我发现了问题!这是我完全掩饰的东西。异常被捕获为一般异常
catch (Exception ex)
{
}
因此,由于它被强制转换为常规异常,因此未显示该值。
答案 1 :(得分:0)
也许您在Exception.Data
词典中存在关键冲突:
通过采用命名约定来为键/值对生成唯一键,从而避免键冲突。例如,命名约定可能会生成一个键,该键由应用程序的句点分隔名称,为该对提供补充信息的方法以及唯一标识符组成。
假设两个名为Products和Suppliers的应用程序都有一个名为Sales的方法。产品应用程序中的销售方法提供产品的标识号(库存单位或SKU)。 “供应商”应用程序中的“销售”方法提供供应商的标识号或SID。因此,此示例的命名约定产生键“Products.Sales.SKU”和“Suppliers.Sales.SID”。
Mybe its documentation可以帮助你。