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

最佳答案

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

关于java - 如何正确使用@SuppressFBWarnings 忽略printStackTrace findbugs 警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39898457/

10-11 20:46