SonarQube 抱怨更改此条件,使其不总是评估为 "true"

SonarQube complaining to Change this condition so that it does not always evaluate to "true"

我在解决 sonarqube 问题时遇到了第 2 行中的这个问题,请提出解决方案。

Exception exe = Server.GetLastError();
  if (exe != null) {
   Exception errorInfo = exe.GetBaseException();
   var error = errorInfo as HttpException;
   if (error != null)
    isNotFound = error.GetHttpCode() == (int) System.Net.HttpStatusCode.NotFound;
  }

您在评论中附上的图片帮了大忙。

有一行包含NLogManager.Error(... + exe.StackTrace);如果正确执行,则exe不是null,因此if语句是多余的。

分析器不会在 exe.StackTrace 上提出问题,因为此时不确定 exe 是否可以为 null(之前没有检查)。

我建议在 if 语句中移动带有 NLogManager 的行。