【问题标题】:How to get rid of specific warning messages如何摆脱特定的警告信息
【发布时间】:2012-03-16 18:50:50
【问题描述】:

很多时候我喜欢这样写 try catch 块:

try
{
    // do stuff
}
catch (Exception ex)
{

}

通常,我希望看到警告消息告诉我我有一个未使用的变量。但是,在这种情况下,我将它放在那里并且没有故意使用它(我执行 vb6/.net 互操作代码,它允许我忽略错误,但仍然让我在使用 .net 进行调试时可以访问异常ide附加到vb6)。

有没有一种方法可以让我专门摆脱以下警告消息:

“变量 'ex' 已声明但从未使用”?

我在想我要么必须摆脱所有关于未使用变量的警告,要么只接受这些我不想看到的警告,但我认为问一下也无妨。

【问题讨论】:

    标签: c# visual-studio ide


    【解决方案1】:

    您可以使用#pragma warning 在代码中禁用警告,请参阅here 了解更多详情。

    【讨论】:

    • 谢谢。我考虑过这一点,但我真的不想完全关闭这个警告......只是为了这个特定的场景。我决定只添加一行代码“var SupressWarningMessage = ex;”。
    • @BrandonMoore:如果您只想在一行上禁用警告,那么您可以使用编译指示将其关闭,然后使用另一个编译指示将其重新打开。
    • 是的,但这更难看,需要更多的输入,而不仅仅是将它分配给一个变量。但我标记了你的答案,因为那是正确的:)
    【解决方案2】:

    然后不定义变量(只需命名类型):

    try {
        // ...
    }
    catch (Exception) {
        // ...
    }
    

    请注意,根据您所做的事情,只是“丢弃”异常而不实际对它们做任何事情可能被认为是糟糕的设计。

    【讨论】:

    • 重点是,当我在调试时,我想查看有关异常的信息。如果我不提供一个变量来保存它,那么我就无法做到这一点。
    • 啊,好吧。在这种情况下,预处理器的东西可能是最好的解决方案。您可以尝试使用 ex; 作为 catch() 块中的唯一行,但我不确定这在 C# 中是否可行/可能(目前仅在 C++ 中使用)。
    • 不认为这会起作用,但我会尽快尝试并找出答案。与此同时,我只写了“var SuppressWarningMessage = ex;”就完成了下一个最好的事情。它完成了这项工作,我认为它的描述性足以让其他阅读它的人理解它的目的。
    【解决方案3】:

    有什么方法可以专门消除警告消息吗?

    在 Visual Studio 开发环境中设置编译器选项

    1. 打开项目的“属性页”对话框。
    2. 单击“构建”属性页。
    3. 修改警告级别属性。

    【讨论】:

    • 不是“特别删除警告消息”,而是“删除特定警告消息”。那里的含义略有不同:)
    猜你喜欢
    • 1970-01-01
    • 2020-12-16
    • 1970-01-01
    • 2022-11-16
    • 2020-01-27
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多