Ich versuche nicht blockierenden Code in F # zu schreiben. Ich muss eine Webseite herunterladen, aber irgendwann existiert diese Webseite nicht und eine Ausnahme wird von AsyncDownloadString ausgelöst (404 Not Found). Ich habe den folgenden Code ausprobiert, aber er kompiliert nicht.Async-Ausnahmebehandlung in F #
Wie kann ich mit Ausnahme von AsyncDownloadString umgehen?
Wie soll ich hier Ausnahme behandeln? Wenn ein Fehler ausgelöst wird, möchte ich einfach eine leere Zeichenfolge oder eine Zeichenfolge mit einer Nachricht zurückgeben.
Sie Jack Dank! Es klappt! :) Warum denkst du Async.Catch ist ein besserer Ansatz? Ich würde denken, dass die Ausnahmebehandlung in downloadPage durchgeführt werden sollte, nein? – Martin
Ich denke 'Async.Catch' ist besser, weil: (1) es Informationen über den Fehler bewahrt ... es gibt andere Gründe, die eine Ausnahme neben einem 404 ausgelöst werden können, und die Ausnahme anstelle von" Error "macht es einfacher das Problem diagnostizieren; (2) Mit 'Choice <_,_>' können Sie das Typsystem verwenden, um die Verarbeitungspfade für die Ergebnisse und die Fehler zu erzwingen. –