Asynchronous methods usually do not throw exceptions directly - they return tasks that ultimately lead to an error. The easiest way to create such a task is to use Task.FromException.
, , , Task.FromException , , . , , " " -, , - , . , :
private static async Task<T> DelayFaultedTask(Exception e)
{
await Task.Yield();
throw e;
}
, " ", .