在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请求异常,我们输出异常信息;对于其他异常,也可以根据具体情况进行相应的处理。