sonar cube在以下代码中引发了一个bug:
private request = null;
try
{
request = createRequest(); // create Request
log.info(" Request created with details "+request.toString());
}
catch(...)
{
}
catch(Exception e)
{
}
这个bug在log.info语句中出现,因为它建议在使用前检查请求是否为null。但我的疑问是,如果我检查它是否为null,并且如果它实际上为null,那么我希望它转到catch exception块,不管怎样,如果我没有显式地检查null,它将转到catch exception块。那是假阳性吗?我怎么处理?
1条答案
按热度按时间insrf1ej1#
我不认为这是假阳性。
request
在你的代码中可以为空所以调用toString
它将导致抛出空指针异常。如果
createRequest
可以返回null,那么您应该显式地检查它,而不仅仅依赖于log语句。像下面这样。顺便说一句,我觉得很吸引人
Exception
就像你在代码片段中所做的那样,通常是个坏主意。我看不到足够多的代码上下文,因此无法知道您的情况是否属实,但这是您可能应该查看的内容。