【问题标题】:How to use @SuppressFBWarnings correctly to ignore printStackTrace findbugs warning如何正确使用@SuppressFBWarnings 来忽略 printStackTrace findbugs 警告
【发布时间】:2017-02-15 08:15:39
【问题描述】:

在我的 junit 4 测试代码中,我使用的测试规则包含如下代码:

catch (Throwable t) {
   t.printStackTrace();
   throw t;
}

Findbugs 抱怨这一点,这是理所当然的——这不应该在我们的生产代码中完成。然而,在这种情况下,我认为这种用法是合理的,并且我尝试使用 @SuppressFBWarnings 注释来消除 findbugs。不过,

@SuppressFBWarnings
private void warmUp() throws Throwable {

也没有

@SuppressFBWarnings("IMC_IMMATURE_CLASS_PRINTSTACKTRACE")
private void warmUp() throws Throwable {

也没有

@SuppressFBWarnings({"IMC_IMMATURE_CLASS_PRINTSTACKTRACE"})
private void warmUp() throws Throwable {

得到想要的结果。

如何正确使用@SuppressFBWarnings 来抑制警告?

【问题讨论】:

  • 第二个选项是正确的。你重新编译了吗?
  • 感谢您的反馈。我暂时无法让它工作并使用记录器。但如果我需要处理类似的问题,它可以帮助我知道应该做什么。

标签: java findbugs printstacktrace


【解决方案1】:

通过对 FindBugs 注释使用以下 gradle 依赖项:

compile 'com.google.code.findbugs:findbugs-annotations:3.0.1'

这应该是可行的:

@SuppressFBWarnings(value = "IMC_IMMATURE_CLASS_PRINTSTACKTRACE", justification = "Document why this should be ignored here")
private void warmUp() throws Throwable {}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    相关资源
    最近更新 更多