【问题标题】:FORWARD_NULL after derefencing null?取消引用 null 后的 FORWARD_NULL?
【发布时间】:2012-03-28 14:09:03
【问题描述】:

我有这行代码:

this.Path = pathLookUpLocation.GetValue(RegLookupKey, null).ToString();

当我在我的代码上运行静态分析工具 (Coverity) 时,我在这里得到一个 FORWARD_NULL,说我在这里取消引用 null。我无法理解这意味着什么以及我将如何解决它?

this.Path 是字符串,pathLookUpLocation 是 RegistryKey,RegLookupKey 是字符串。

【问题讨论】:

  • 如果您能给我们一些有关所涉及类型的提示,那将非常有帮助...

标签: c# static-analysis registrykey


【解决方案1】:

我想pathLookUpLocation 的类型是RegistryKey

出现此消息的原因是,如果未找到具有 RegLookupKey 指定键的值,您的代码将抛出 NullReferenceException。发生这种情况是因为您将null 作为第二个参数传递给GetValue。第二个参数是找不到key时返回的默认值。

通过将其更改为 string.Empty 来修复它:

this.Path = pathLookUpLocation.GetValue(RegLookupKey, string.Empty).ToString();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多