我正在编写一个MVC 5互联网应用程序,我有一个关于抛出异常的问题。
抛出异常时,如何包含对象数据的最佳方法。当发生异常时,我希望异常显示特定的对象数据。
我发现了一些选项:
public virtual IDictionary Data
属性。我可以手动将数据添加到Data
属性。有推荐的方法吗?
答案 0 :(得分:9)
我肯定会选择Data
字典,因为那是最接近实际例外的字典。此外,它不需要访问文件系统等工作。
我们自己使用Data
词典,并且有一个键列表有助于您,因此您可以轻松地再次引用数据。
例如:
public const string SOME_KEY = "some_key";
Exception e = new Exception("some error");
e.Data.Add(SOME_KEY, someValue);
throw e;
稍后再使用:
object some_key = e.Data[SOME_KEY];