Tôi đang cố viết mã không chặn trong F #. Tôi cần phải tải xuống một trang web, nhưng đôi khi trang web đó không tồn tại và ngoại lệ được ném (404 Not Found) bởi AsyncDownloadString. Tôi đã thử mã dưới đây nhưng nó không biên dịch.Xử lý ngoại lệ không đồng bộ trong F #
Làm cách nào để xử lý ngoại lệ từ AsyncDownloadString?
Tôi giả sử xử lý ngoại lệ ở đây như thế nào? Nếu một lỗi được ném, tôi chỉ muốn trả về một chuỗi rỗng hoặc một chuỗi có một thông báo trong đó.
Cảm ơn bạn Jack! Nó hoạt động! :) Tại sao bạn nghĩ Async.Catch là một cách tiếp cận tốt hơn. Tôi nghĩ rằng việc xử lý ngoại lệ nên được thực hiện trong downloadPage, phải không? – Martin
Tôi nghĩ rằng 'Async.Catch' là tốt hơn bởi vì: (1) nó bảo tồn thông tin về lỗi ... có những lý do khác ngoại lệ có thể được ném bên cạnh một 404, và có ngoại lệ thay vì" Lỗi "làm cho nó dễ dàng hơn để chẩn đoán vấn đề; (2) sử dụng 'Choice <_,_>' cho phép bạn sử dụng hệ thống kiểu để thực thi các đường dẫn xử lý cho cả kết quả lẫn lỗi. –