title: Await in catch block
body: <p>I have the following code:</p>
  
  <pre><code>WebClient wc = new WebClient();
  string result;
  try
  {
    result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) );
  }
  catch
  {
    result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) );
  }
  </code></pre>
  
  <p>Basically I want to download from a URL and when it fails with an exception I want to download from another URL. Both time async of course. However the code does not compile, because of</p>
  
  <blockquote>
    <p>error CS1985: Cannot await in the body of a catch clause</p>
  </blockquote>
  
  <p>OK, it's forbidden for whatever reason but what's the correct code pattern here?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>The good news is that <a href="http://msdn.microsoft.com/hu-hu/magazine/dn683793(en-us).aspx">C# 6.0 will likely allow await calls both in catch and finally blocks</a>.</p>