首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用属性抑制Coverity中的消息?

使用属性抑制Coverity中的消息?
EN

Stack Overflow用户
提问于 2018-09-03 10:42:33
回答 1查看 5.7K关注 0票数 4

我们使用Coverity来分析C#代码的缺陷。

我们有一些单元测试,可以显式地验证是否正确地处理空参数。

这些缺陷被Coverity列为缺陷。如果这是Microsofts自己的代码分析,我们可以标记我们的方法,使用[SuppressMessage(...)]执行空传递,是否类似于Coverity?

我们不想把代码弄得乱七八糟,以致于混淆Coverity。

下面是一个给出这个缺陷的示例代码:

代码语言:javascript
复制
[Test]
public void SomeRandomTest()
{
    var obj = new SomeRandomObject();
    Assert.Throws<ArgumentNullException>(() => obj.Method(null));
}

...

public class SomeRandomObject
{
    public void Method(object value)
    {
        if (value == null) throw new ArgumentNullException(nameof(value));
        ...
    }
}

显式错误显示为

显式空取消引用(FORWARD_NULL) var_deref_model:将null传递给方法,方法在检查null后抛出异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-04 16:31:02

本站中的一个例子为例,您可以在报告的错误行上方加上注释来抑制这些消息,但在您的示例中,您将使用var_deref_model标记。例如:

代码语言:javascript
复制
// coverity[var_deref_model]
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52148105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档