Ich habe folgenden 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" ) );
}
Grundsätzlich möchte ich von einer URL herunterladen und wenn es mit einer Ausnahme fehlschlägt, möchte ich von einer anderen URL herunterladen. Beide Male natürlich asynchron. Der Code wird jedoch aufgrund von nicht kompiliert
Fehler CS1985: Kann im Hauptteil einer catch-Klausel nicht warten
OK, es ist aus irgendeinem Grund verboten, aber wie lautet das richtige Codemuster hier?
BEARBEITEN:
Die gute Nachricht ist, dass C # 6.0 wahrscheinlich das Warten auf Anrufe sowohl im Catch- als auch im Endblock ermöglicht .