Прочитать на английском

Поделиться через


Exception.ToString Метод

Определение

Создает и возвращает строковое представление текущего исключения.

C#
public override string ToString();

Возвращаемое значение

Строковое представление текущего исключения.

Реализации

Примеры

В следующем примере возникает исключение и отображается результат вызова ToString для этого исключения. Обратите внимание, что Exception.ToString метод вызывается неявно, когда экземпляр класса Exception отображается в списке Console.WriteLine аргументов метода .

C#
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

Комментарии

ToString возвращает представление текущего исключения, которое предназначено для понимания людьми. Если исключение содержит данные с учетом языка и региональных параметров, то строковое представление, возвращаемое параметром ToString , должно учитывать текущий системный язык и региональные параметры. Хотя нет точных требований к формату возвращаемой строки, она должна попытаться отразить значение объекта так, как оно воспринимается пользователем.

Реализация ToString по умолчанию получает имя класса, вызвавшего текущее исключение, сообщение, результат вызова ToString внутреннего исключения и результат вызова Environment.StackTrace. Если какой-либо из этих элементов имеет значение null, его значение не включается в возвращаемую строку.

Если сообщение об ошибке отсутствует или если это пустая строка (""), сообщение об ошибке не возвращается. Имя внутреннего исключения и трассировка стека возвращаются только в том случае, если они не nullимеют значения .

Этот метод переопределяет метод Object.ToString.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0