可以尝试使用 try-catch 语句来捕获 HttpRequestException 异常并在接下来的代码中处理。以下是一个示例:
public async Task Get()
{
try
{
// 进行 API 调用
var response = await new HttpClient().GetAsync("http://example.com/api/data");
response.EnsureSuccessStatusCode();
// 处理 API 响应
var data = await response.Content.ReadAsStringAsync();
return Content(data, "application/json");
}
catch (HttpRequestException ex)
{
// 处理 HttpRequestException 异常
// 做出何种动作(记录日志,重试等等)
// 返回有关错误的消息
return Content("Unable to retrieve data from API.", "text/plain");
}
}
在上述示例中,我们将 HttpClient 调用置于 try 块中,并在 catch 块中处理 HttpRequestException 异常。在 catch 块中,我们记录错误消息并返回到客户端。
这样可以确保 Web API 在遇到网络问题时能够正确地处理异常,并向客户端返回相应的错误消息。