我正在使用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
。
但是,如果此列的行的值为空,则结果集中的列不存在,这在我的数据库中会发生。结果,这产生了许多不必要的日志。确实,此列不存在的事实随后得到了很好的处理,不会对进一步的代码执行造成问题。
我的问题是:有没有一种方法可以让我继续检查声纳是否存在,而不必在声纳规则范围内记录某些东西(如果不存在)?