如何正确使用@SuppressFBWarnings忽略printStackTrace findbugs警告

时间:2016-10-06 14:17:17

标签: java findbugs printstacktrace

在我的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来抑制警告?

1 个答案:

答案 0 :(得分:4)

通过对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 {}