在SonarQube 7.9.1上,下面的代码段抛出了一个squid:1166的异常。当我查看代码时,我觉得这个异常的处理是正确的。到底是哪里出了问题?
} catch (final Exception ex) {
Valeur[index] = "";
}
我强烈建议你仔细看一下这段代码。问题描述:
当处理一个捕获的异常时,原始异常的信息和堆栈跟踪应该被记录或转发。
这意味着你至少应该记录你的异常,并附上某种信息,因为这可能对以后的步骤至关重要。另外,请看底部的附加参考资料,它们也提供了整洁的信息。
最简单的方法是 原木 这条信息只是在调试层面,如
} catch (final Exception ex) {
log.debug("an exception occurred, oh no!", ex);
Valeur[index] = "";
}
或者如果您认为完全没有必要,您总是可以将问题标记为假阳性,或者在同一行添加一个注释,以 // NOSONAR
所以同一条线上的问题将被忽略,这是我不推荐的。
} catch (final Exception ex) { // NOSONAR i do not want to log this
Valeur[index] = "";
}