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

Свойство IsFaulted

Task.IsFaulted равен true после FromException. Подробности - в Exception. await бросает внутреннее исключение без обёртки.

Синтаксис

bool failed = task.IsFaulted;

Пример

Давайте проверим сбойную задачу:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var task = Task.FromException( new InvalidOperationException("abcde")); await Task.Yield(); bool res = task.IsFaulted; Console.WriteLine(res); } }

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

True

Пример

Давайте сравнить с успешной:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var ok = Task.FromResult(12345); await ok; bool res = ok.IsFaulted; Console.WriteLine(res); } }

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

False

Пример

Давайте убедиться, что при сбое IsCompletedSuccessfully ложно:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var task = Task.FromException( new InvalidOperationException("abcde")); await Task.Yield(); bool res = task.IsFaulted && !task.IsCompletedSuccessfully; Console.WriteLine(res); } }

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

True

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

  • свойство Exception,
    сохранённый AggregateException
  • метод FromException,
    создать сбойную задачу
  • свойство IsCanceled,
    отмена вместо сбоя
  • Task,
    класс, где объявлено свойство
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить