当前位置: 首页>>代码示例>>C#>>正文


C# Exception.Data属性代码示例

本文整理汇总了C#中System.Exception.Data属性的典型用法代码示例。如果您正苦于以下问题:C# Exception.Data属性的具体用法?C# Exception.Data怎么用?C# Exception.Data使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在System.Exception的用法示例。


在下文中一共展示了Exception.Data属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

// This example demonstrates the Exception.Data property.
using System;
using System.Collections;

class Sample 
{
   public static void Main()
   {
      Console.WriteLine("\nException with some extra information...");
      RunTest(false);
      Console.WriteLine("\nException with all extra information...");
      RunTest(true);
   }

   public static void RunTest(bool displayDetails)
   {
      try {
         NestedRoutine1(displayDetails);
      }
      catch (Exception e) {
         Console.WriteLine("An exception was thrown.");
         Console.WriteLine(e.Message);
         if (e.Data.Count > 0) {
            Console.WriteLine("  Extra details:");
            foreach (DictionaryEntry de in e.Data)
               Console.WriteLine("    Key: {0,-20}      Value: {1}", 
                                 "'" + de.Key.ToString() + "'", de.Value);
         }
      }
   }
    
   public static void NestedRoutine1(bool displayDetails)
   {
      try {
         NestedRoutine2(displayDetails);
      }
      catch (Exception e) {
         e.Data["ExtraInfo"] = "Information from NestedRoutine1.";
         e.Data.Add("MoreExtraInfo", "More information from NestedRoutine1.");
         throw;
      }
   }
    
   public static void NestedRoutine2(bool displayDetails)
   {
      Exception e = new Exception("This statement is the original exception message.");
      if (displayDetails) {
         string s = "Information from NestedRoutine2.";
         int i = -903;
         DateTime dt = DateTime.Now;
         e.Data.Add("stringInfo", s);
         e.Data["IntInfo"] = i;
         e.Data["DateTimeInfo"] = dt;
      }
      throw e;
   }
}
开发者ID:.NET开发者,项目名称:System,代码行数:57,代码来源:Exception.Data

输出:

Exception with some extra information...
An exception was thrown.
This statement is the original exception message.
Extra details:                                               
Key: 'ExtraInfo'               Value: Information from NestedRoutine1.
Key: 'MoreExtraInfo'           Value: More information from NestedRoutine1.

Exception with all extra information...
An exception was thrown.
This statement is the original exception message.
Extra details:
Key: 'stringInfo'              Value: Information from NestedRoutine2.
Key: 'IntInfo'                 Value: -903
Key: 'DateTimeInfo'            Value: 7/29/2013 10:50:13 AM
Key: 'ExtraInfo'               Value: Information from NestedRoutine1.
Key: 'MoreExtraInfo'           Value: More information from NestedRoutine1.


注:本文中的System.Exception.Data属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。