Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
941 of 1492 menu
◀ ▶

Свойство Data

Свойство Data возвращает IDictionary, куда перед throw можно положить свои поля. Ключ имеет тип object, значение тоже object. Например, ex.Data["code"] = "abcde"; - позже значение читают в catch.

Синтаксис

ex.Data["code"] = "abcde"; var text = ex.Data["code"];

Пример

Давайте записать и прочитать ключ "code":

using System; class Program { static void Main() { try { var ex = new Exception("abcde"); ex.Data["code"] = "abcde"; throw ex; } catch (Exception ex) { Console.WriteLine(ex.Data["code"]); } } }

Результат выполнения кода:

"abcde"

Пример

Давайте сохранить число в Data:

using System; class Program { static void Main() { try { var ex = new Exception("fail"); ex.Data["id"] = 5; throw ex; } catch (Exception ex) { Console.WriteLine(ex.Data["id"]); } } }

Результат выполнения кода:

5

Пример

Давайте проверить ключ перед чтением:

using System; class Program { static void Main() { try { var ex = new Exception("abcde"); ex.Data["code"] = "12345"; throw ex; } catch (Exception ex) { Console.WriteLine(ex.Data.Contains("code")); } } }

Результат выполнения кода:

True

Смотрите также

  • свойство Message,
    которое хранит основной текст
  • свойство HResult,
    которое хранит числовой код
  • класс Exception,
    к которому привязан Data
  • конструкция catch,
    где читают Data
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить