Метод ToString
Метод ToString возвращает текстовое
описание сбоя. Первая строка для
new Exception("abcde") начинается с
"System.Exception: abcde". Полный текст
со стеком зависит от окружения, поэтому
в примерах проверяют StartsWith или
печатают только стабильную первую строку.
Синтаксис
string text = ex.ToString();
Пример
Давайте проверить начало ToString:
using System;
class Program
{
static void Main()
{
try
{
throw new Exception("abcde");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString().StartsWith("System.Exception: abcde"));
}
}
}
Результат выполнения кода:
True
Пример
Давайте вывести первую строку ToString:
using System;
class Program
{
static void Main()
{
try
{
throw new Exception("abcde");
}
catch (Exception ex)
{
string text = ex.ToString();
int end = text.IndexOf('\n');
string line = end >= 0 ? text.Substring(0, end) : text;
Console.WriteLine(line);
}
}
}
Результат выполнения кода:
"System.Exception: abcde"
Пример
Давайте проверить ToString у своего типа:
using System;
class CodeException : Exception
{
public CodeException(string message) : base(message) { }
}
class Program
{
static void Main()
{
try
{
throw new CodeException("12345");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString().StartsWith("CodeException: 12345"));
}
}
}
Результат выполнения кода:
True
Смотрите также
-
свойство
Message,
которое входит в ToString -
свойство
StackTrace,
который может следовать в тексте -
класс
Exception,
у которого переопределяют ToString -
оператор
throw,
после которого вызывают ToString