在C#中調用WebAPI時,可以通過try-catch塊來處理異常。以下是一個簡單的示例代碼:
try
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("https://api.example.com/data");
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
// 處理成功的響應數據
}
else
{
// 處理API返回的錯誤信息
throw new Exception("API請求失敗:" + response.ReasonPhrase);
}
}
catch (HttpRequestException ex)
{
// 處理HTTP請求異常
Console.WriteLine("HTTP請求異常:" + ex.Message);
}
catch (Exception ex)
{
// 處理其他異常
Console.WriteLine("發生異常:" + ex.Message);
}
在上面的示例中,我們首先使用HttpClient發送一個GET請求到WebAPI,并檢查響應的狀態。如果響應狀態碼為成功,我們可以通過ReadAsStringAsync()方法獲取響應體的內容。如果響應狀態碼不是成功,則拋出一個異常來處理API返回的錯誤信息。
在catch塊中,我們分別處理了HttpRequestException和其他異常。對于HTTP請求異常,我們輸出異常信息;對于其他異常,也可以根據具體情況進行相應的處理。