我第一次使用 SonarQube 来分析代码。我有一种方法如下。
public async Task<HttpResponseMessage> SendRequest(HttpRequestMessage httpRequest)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = null;
response = await client.SendAsync(httpRequest);
if (response.StatusCode == System.Net.HttpStatusCode.RequestTimeout || response.StatusCode == System.Net.HttpStatusCode.ServiceUnavailable)
{
//DoSomething
}
else
{
// DoSomethingElse
}
}
现在,当我运行 SonarQube 时,它指向 if 条件并将其显示为错误。消息是"'response' is null on at least one execution path."
。我如何删除这个错误。这是否意味着整个 if/else 块应该包含在另一个 if 条件中,例如if (response != null){}
. 任何帮助/解释表示赞赏。