Why await is not allowed in a finally block?
public async void Fn()
{
try
{
}
finally
{
await Task.Delay(4000);
}
}
knowing that it is possible to get the Awaiter manually
public void Fn()
{
try
{
}
finally
{
var awaiter = Task.Delay(4000).GetAwaiter();
}
}
Taken from: Where can’t I use “await”?
This is apparently no longer true in C# 6.0
Taken from: A C# 6.0 Language Preview