У меня такой код:
WebClient wc = new WebClient();
string result;
try
{
result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) );
}
catch
{
result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) );
}
В основном я хочу загрузить с URL-адреса, а когда это не удается, за исключением исключения, я хочу загрузить с другого URL-адреса. Оба раза асинхронно, конечно. Однако код не компилируется из-за
ошибка CS1985: невозможно ожидать в теле предложения catch
Хорошо, это запрещено по какой-то причине, но какой здесь правильный шаблон кода?
РЕДАКТИРОВАТЬ:
Хорошей новостью является то, что C # 6.0, скорее всего, разрешит вызовы await как в блоках catch, так и в блоках finally .