c# - 抛出异常时添加对象数据

标签 c# asp.net-mvc exception

我正在编写一个 MVC 5 互联网应用程序,我有一个关于抛出异常的问题。

抛出异常时包含对象数据的最佳方式是什么。我希望异常在发生异常时向我发送电子邮件时显示特定对象数据。

我找到的一些选项:

  • 我看到有一个 public virtual IDictionary Data 属性。我可以手动将数据添加到 Data 属性。
  • 我还可以将对象数据导出到 xml 文件并将其包含在异常中。
  • 我也可以使用反射来获取所有对象字段。

有推荐的方法吗?

最佳答案

我肯定会选择 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];

关于c# - 抛出异常时添加对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28827419/

相关文章:

c# - 将操作过滤器添加到部分 View

c# - ASP.NET MVC 中单独程序集中的 View

c# - WinForm 绑定(bind)单选按钮

asp.net - 我可以使用附加参数增加 MVC Controller 操作的 ASP.NET 请求的 maxRequestLength 吗?

c# - try catch UI 线程的调用

exception - 中断和异常

c# - 强行删除一个文件,即使它正在被其他进程使用

asp.net-mvc - AreaRegistration.RegisterAllAreas() 不是区域注册规则

javascript - 如何在前端和后端验证必填字段

c++ - 在 C++ (g++) 中使用 errno 作为异常参数的意外控制流(编译器错误?)