Dot-Net
EnsureSuccessStatusCode 的使用和它拋出的 HttpRequestException 的處理
的使用模式是
HttpResponseMessage.EnsureSuccessStatusCode()什麼?它處理消息的內容並拋出HttpRequestException,但我看不到如何以程式方式處理它與泛型不同Exception。例如,它不包括HttpStatusCode本來很方便的 。有沒有辦法從中獲取更多資訊?任何人都可以顯示兩者
EnsureSuccessStatusCode()和 HttpRequestException 的相關使用模式嗎?
的慣用用法
EnsureSuccessStatusCode是當您不想以任何特定方式處理失敗案例時,簡明扼要地驗證請求是否成功。當您想要快速製作客戶端原型時,這尤其有用。當您決定要以特定方式處理失敗案例時,請勿執行以下操作。
var response = await client.GetAsync(...); try { response.EnsureSuccessStatusCode(); // Handle success } catch (HttpRequestException) { // Handle failure }這拋出一個異常只是為了立即擷取它,這沒有任何意義。的
IsSuccessStatusCode財產HttpResponseMessage就是為了這個目的。請改為執行以下操作。var response = await client.GetAsync(...); if (response.IsSuccessStatusCode) { // Handle success } else { // Handle failure }