24

我正在构建一个字符串列表,然后想抛出一个异常并让 UI 处理该列表并为用户创建错误消息。

有没有办法做到这一点?

4

2 回答 2

42

异常包含Data属性(这是一个字典)。它可用于传递附加信息:

try
{
    // throw new Exception
}
catch(Exception e)
{
    // whatever
    e.Data["SomeData"] = new List<string>();
}
于 2013-06-25T16:50:37.537 回答
36

您可以使用该Exception.Data属性来传递任意数据,但更好(更清洁)的解决方案是创建您自己的从 Exception 派生的自定义异常类并添加您需要的任何属性。

示例代码:

public class MyException: Exception
{
    public List<String> MyStrings { get; private set; }

    public MyException(List<String> myStrings)
    {
        this.MyStrings = myStrings;
    }
}
于 2013-06-25T17:07:04.247 回答