Java:不必要的日志与sonarlint发生“冲突”

时间:2020-03-05 10:57:57

标签: java exception logging

我正在使用sonarlint突出潜在的问题。

我还将log4j用作记录器。我的记录器记录到文件。

我正面临以下“逻辑问题”:

我有一种方法,可以使用方法ResultSet检查findColumn的列。

private boolean columnExists(ResultSet rs, String columnLabel) {
    try {
        rs.findColumn(columnLabel);
        return true;
    } catch (SQLException e) {
        log.info("Column does not exist", e);
        return false;
    }
}
当列不存在于结果集中时,

findColumn抛出SQLException。声纳规则说我应该记录该异常,因此应该记录log.info

但是,如果此列的行的值为空,则结果集中的列不存在,这在我的数据库中会发生。结果,这产生了许多不必要的日志。确实,此列不存在的事实随后得到了很好的处理,不会对进一步的代码执行造成问题。

我的问题是:有没有一种方法可以让我继续检查声纳是否存在,而不必在声纳规则范围内记录某些东西(如果不存在)?

0 个答案:

没有答案