问题标签 [suppress-warnings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3769 浏览

sql-server - 禁止 IGNORE_DUP_KEY 生成的 T-SQL 警告

有没有办法抑制通过在 IGNORE_DUP_KEY = ON 的索引上插入重复键而产生的警告?它给出的警告是“重复键被忽略”。

出于性能原因,我正在研究将此选项与表变量一起使用,但它会生成大量警告消息。这可能是一个问题,因为我将脚本的输出记录到文本文件中,并且我不希望日志文件一遍又一遍地填满数百行此警告。

可以使用以下脚本重现警告。注意:这不是我的实际脚本,而只是用于说明目的的示例。

这类似于运行脚本 SQL Server 2005 时如何抑制 T-SQL 警告?,但在这种情况下,那里的解决方案不起作用。我还看到了使用 TRY...CATCH 的建议,但这也不起作用:看来您无法捕获警告。

我正在使用 SQL Server 2005。

0 投票
3 回答
188 浏览

java - 我应该关闭哪些编译器警告?

我正在重构 Java 1.3 遗留代码,大约 700 个类。由于此代码中缺少泛型,我目前看到了数千个警告,我应该简单地禁用其中哪些?我不想讨论每一个警告,只是根据显示在错误/警告对话框中的组的经验法则。

0 投票
2 回答
869 浏览

python - 在 python 2.6 之前捕获警告

在 Python 2.6 中,可以通过使用来抑制警告模块中的警告

但是, 2.6 之前的 Python 版本不支持with,所以我想知道是否有上述替代方案可以与 2.6 之前的版本一起使用?

0 投票
1 回答
1506 浏览

fxcop - 界面中的 SuppressMessage

我试图通过将 SuppressMessage 属性添加到方法来抑制接口中定义的方法的特定 FxCop 警告。但警告仍然出现。我知道 SuppressMessage 属性是正确的选择。

有没有人有在界面中抑制 FxCop 警告的经验?

谢谢,

H

0 投票
3 回答
21172 浏览

shared-libraries - 你如何告诉 Valgrind 完全禁止特定的 .so 文件?

我正在尝试在我正在处理的程序上使用 Valgrind,但 Valgrind 会为我正在使用的一个库生成一堆错误。我希望能够告诉它抑制涉及该库的所有错误。我可以为抑制文件想出的最接近的规则是

然而,这并不能完全发挥作用。我必须为出现的每种抑制类型(Cond、Value4、Param 等)创建其中一个,它似乎仍然错过了一些错误,这些错误在堆栈跟踪中有库。

有没有办法给 Valgrind 一个单一的抑制规则,让它完全忽略一个特定的库?即使没有办法制定涵盖所有抑制类型的规则,是否至少有一种方法可以创建一个忽略特定库中特定抑制类型的所有错误的规则?

0 投票
5 回答
1180 浏览

c# - 在 C# 中覆盖 Object.Equals() 实例方法;现在代码分析/FxCop 警告 CA2218:“也应该重新定义 GetHashCode”。我应该压制这个吗?

我的 C# 项目中有一个复杂的类,我希望能够在其上进行相等测试。它不是一个微不足道的类;它包含各种标量属性以及对其他对象和集合的引用(例如 IDictionary)。不管怎样,我的班级是封闭的。

为了在我的系统的其他地方启用性能优化(一种避免代价高昂的网络往返的优化),我需要能够将这些对象的实例相互比较以获得相等性——除了内置的引用相等性——等等我正在重写 Object.Equals() 实例方法。但是,既然我已经这样做了,我默认启用的 Visual Studio 2008 的代码分析(又名 FxCop)会发出以下警告:

警告:CA2218:Microsoft.Usage:由于“MySuperDuperClass”重新定义了 Equals,它也应该重新定义 GetHashCode。

我想我理解这个警告的基本原理: 如果我要使用这样的对象作为集合中的,那么哈希码很重要。即看到这个问题但是,我不会将这些对象用作集合中的键。曾经。

感觉有理由抑制警告,我在 MSDN 文档中查找代码 CA2218以获取警告的全名,因此我可以将SuppressMessage属性应用于我的类,如下所示:

但是,在进一步阅读时,我注意到以下内容:

如何解决违规问题

要修复违反此规则的行为,请提供 GetHashCode 的实现。对于相同类型的一对对象,如果 Equals 的实现为这对对象返回 true,则必须确保实现返回相同的值。

何时禁止警告

----->不要禁止来自该规则的警告。[箭头和强调我的]

所以,我想知道:为什么我不应该像我计划的那样抑制这个警告? 难道我的案子不需要压制吗?我不想为这个永远不会被调用的对象编写 GetHashCode() 的实现,因为我的对象永远不会成为集合中的键。如果我想变得迂腐而不是压抑,那么用引发 NotImplementedException 的实现来覆盖 GetHashCode() 是否更合理?


更新:我刚刚在 Bill Wagner 的好书Effective C#中再次查看了这个主题,他在“第 10 项:理解 GetHashCode() 的陷阱”中指出:

如果您定义的类型永远不会用作容器中的键,那么这无关紧要。表示窗口控件、网页控件或数据库连接的类型不太可能用作集合中的键。在这些情况下,什么也不做。所有引用类型都会有一个正确的哈希码,即使它非常低效。[...] 在您创建的大多数类型中,最好的方法是完全避免 GetHashCode() 的存在。

...这就是我最初得到这个想法的地方,即我不必总是关心 GetHashCode()。

0 投票
4 回答
31819 浏览

visual-c++ - 如何在 Visual C++ 中抑制外部标头中的警告

我正在开始一个新的 BREW 项目,我想使用警告级别 4 (/W4) 进行编译,以保持应用程序代码整洁。问题是 BREW 头文件本身不能用 /W4 干净地编译。

在 gcc 中,您可以使用 -I 和 -isystem 来区分应用程序头和系统头,然后默认情况下 gcc 不会在系统头中报告任何编译警告。Visual C++ 中是否有等效机制?

0 投票
5 回答
4391 浏览

apache-flex - 如何抑制 Flash 迁移警告 (1090)

在 Flash Professional CS4 中,当我使用鼠标/键盘输入处理程序名称(例如 onMouseDown、onKeyUp 等)时,我会收到“迁移问题”警告,即使我已经为它们添加了事件侦听器。这些名称对于函数来说是完全合法的,但由于它们在 ActionScript 2.0 中被自动触发,因此我们现在(尽管明智地)警告它们在 AS3 中不再是自动使用的。

我理解警告的目的,但它们对我没有用。我想抑制这些警告,但抑制任何其他警告,我通常认为这很有用。

例如,当我使用这样的代码时:

我收到这样一个烦人的警告:

Warning: 1090: Migration issue: The onMouseDown event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'mouseDown', callback_handler).

有可以抑制动作脚本警告或所有警告的 flex 编译器 (mxmlc) 标志(和 Flash Pro 设置),但我不希望这样。这太笼统了。

理想情况下,我可以抑制特定的错误/警告编号(警告 #1090)。

编辑:我发现了更多的“高级”编译器标志mxmlc -help advanced,看起来很有希望。具体来说,以下似乎是可能的候选人:
warn-deprecated-event-handler-error
warn-deprecated-function-error
warn-deprecated-property-error

如何让 Flash 使用这些?

编辑 2:我在 Flash 用户数据目录中找到了一个 flex-info.xml 样式的文档。
[userdatafolder]/Adobe/Flash CS4/en/Configuration/ActionScript 3.0/FlexInfo.xml 然而,这个文件包含一个令人失望的评论:<!-- Flash does not support most flex-config options. -->,并且即使在重新启动闪存后似乎也没有响应我的指令。
这越来越难过了。

编辑 3 :在 Adob​​e 错误跟踪器上发现一个问题“错误、烦人的“迁移问题”警告”。已确认 Flex SDK 已修复,但未提及 Flash……

0 投票
2 回答
3180 浏览

c# - 如何在不使用 #pragma 的情况下抑制 C# 中的编译器警告?

我需要在 C# 中抑制特定的编译器警告。现在我可以这样做:

有没有办法像下面这样?

因为我只需要禁止该字段的警告,而不是代码块。

注意:我想抑制编译器警告,而不是代码分析警告。

谢谢!

0 投票
3 回答
8175 浏览

c# - 抑制生成的 C# 代码的警告

我为我的 VS 项目打开了“将警告视为错误”,这意味着我因缺少文档而收到错误(这个特定项目的好提醒)。

但是,部分代码是由不插入 xml 文档的自定义工具生成的,因此我正在寻找忽略生成代码的缺失 xml 文档,而不是整个项目。我对生成的实际文件没有影响,也不能真正在文件中插入任何东西(因为它经常被工具重新生成)所以我在生成的文件之外寻找存在的东西(生成的类是部分的,如果有帮助的话)