本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

Exception.ToString 方法 ()

 

创建并返回当前异常的字符串表示形式。

命名空间:   System
程序集:  mscorlib(位于 mscorlib.dll)

public override string ToString()

返回值

Type: System.String

当前异常的字符串表示形式。

ToString返回当前异常,但应为人所理解的表示形式。 当该异常包含区分区域性的数据,返回的字符串表示ToString需要当前系统区域性考虑在内。 虽然没有返回字符串的确切要求的格式,它应尝试反映为从用户的角度对象的值。

默认实现ToString获取引发当前异常,消息、 调用的结果的类名称ToString上该内部异常,且调用Environment.StackTrace 如果任何这些成员为null,其值不包括在返回的字符串。

如果没有任何错误消息,或如果它是空字符串 (""),则不返回任何错误消息。 仅当它们不是返回的内部异常和堆栈跟踪的名称null

此方法将替代Object.ToString

下面的示例导致引发异常并显示调用ToString上该异常。 请注意,Exception.ToString的参数列表中出现的异常类实例时,方法隐式调用Console.WriteLine方法。

using System;

public class TestClass
{}

public class Example 
{
   public static void Main()
   {
      var test = new TestClass();
      Object[] objectsToCompare = { test, test.ToString(), 123,
                                    123.ToString(), "some text",
                                    "Some Text" };
      string s = "some text";
      foreach (var objectToCompare in objectsToCompare) {
         try {
            int i = s.CompareTo(objectToCompare);
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i);
         }
         catch (ArgumentException e) {
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name);
            Console.WriteLine("Exception information: {0}", e);
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//     Bad argument: TestClass (type TestClass)
//     Exception information: System.ArgumentException: Object must be of type String.
//        at System.String.CompareTo(Object value)
//        at Example.Main()
//     
//     Comparing 'some text' with 'TestClass': -1
//     
//     Bad argument: 123 (type Int32)
//     Exception information: System.ArgumentException: Object must be of type String.
//        at System.String.CompareTo(Object value)
//        at Example.Main()
//     
//     Comparing 'some text' with '123': 1
//     
//     Comparing 'some text' with 'some text': 0
//     
//     Comparing 'some text' with 'Some Text': -1

通用 Windows 平台
自 8 起可用
.NET Framework
自 1.1 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
Windows Phone
自 8.1 起可用
返回页首
显示: