Await in Catch and finally block in C# 6.0

In the earlier versions of C# , there was no provision to have the await keyword in catch and finally block . This was a kind of limitation and developers had to use a workaround to get this to work.

In C# 6.0 , the await can now be used within the the catch and finally block.

Await in Catch and finally block in C# 6.0

WebClient client = null;
try
{
    client = new WebClient();
    string response = await client.DownloadStringTaskAsync(new Uri("http://developerpublish.com"));
    Console.WriteLine(response);
}
catch (Exception e)
{
    // Logging Logic
    await Logger.LogAsync(client, e);
}
finally
{

}