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