Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在引发异常时添加对象数据_C#_Asp.net Mvc_Exception - Fatal编程技术网

C# 在引发异常时添加对象数据

C# 在引发异常时添加对象数据,c#,asp.net-mvc,exception,C#,Asp.net Mvc,Exception,我正在编写一个MVC5互联网应用程序,我有一个关于抛出异常的问题 如何在引发异常时最好地包含对象数据。我希望异常在发生异常时向我发送电子邮件时显示特定的对象数据 我发现了一些选择: 我看到有一个公共虚拟IDictionary Data属性。我可以手动将数据添加到data属性 我还可以将对象数据导出到xml文件,并将其包含在异常中 我也可以用反射来获得所有的物体场 有推荐的方法吗?我肯定会选择数据字典,因为它最接近实际的异常。此外,它不需要访问文件系统等来工作 我们自己经常使用数据字典,它有助

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

如何在引发异常时最好地包含对象数据。我希望异常在发生异常时向我发送电子邮件时显示特定的对象数据

我发现了一些选择:

  • 我看到有一个
    公共虚拟IDictionary Data
    属性。我可以手动将数据添加到
    data
    属性
  • 我还可以将对象数据导出到xml文件,并将其包含在异常中
  • 我也可以用反射来获得所有的物体场

有推荐的方法吗?

我肯定会选择
数据字典,因为它最接近实际的异常。此外,它不需要访问文件系统等来工作

我们自己经常使用
数据
字典,它有助于为您提供一个键列表,以便您可以轻松地再次引用数据

例如:

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];

它能持续整个应用程序吗?我的意思是如果我想在另一个应用程序中使用e.Data[SOME_KEY]。行吗?照这样说,我无法使它工作。