Я понимаю, что return Task.FromResult(foo)
является простым сокращением для:
var tcs = new TaskCompletionSource<TFoo>();
tcs.SetResult(foo);
return tcs.Task;
Есть ли какой-то эквивалент для задачи, которая возвращает состояние исключения?
var tcs = new TaskCompletionSource<TFoo>();
tcs.SetException(new NotSupportedException()); // or whatever is appropriate
return tcs.Task;
Я не вижу ничего подобного Task.FromException
. Или было бы более целесообразным просто выбросить исключение, не возвращая задачи?