java-道奇-已知为null的值的冗余nullcheck
作者:互联网
下面是我得到声纳违反的代码
public static Connection getConnection(
String db)
throws SQLException {
Connection connection = null;
try {
Driver dbRriver = (Driver) Class.forName(driver).newInstance();
Properties props = new Properties();
props.put("user", PropertyLoader.get("user123"));
props.put("password", PropertyLoader.get("pass"));
connection = dbRriver
.connect(PropertyLoader.get("URL"), props);
} catch (Exception e) {
**if(connection!= null){
connection.close();**
}
LOGGER.error(IN_EXCEPTION, e);
}
return connection;
}
在关闭连接之前,需要先检查连接是否为空,但是声纳给出的冲突为“ Dodgy-值已知为冗余的冗余nullcheck”.请提出建议,因为我可以在不删除null检查的情况下避免这种违反情况.
解决方法:
因为无论哪种方式,如果最终陷入困境,连接将始终为空.有几个地方可以有例外,但是所有这些都在分配连接之前= dbRriver.connect(PropertyLoader.get(“ URL”),props);
因此,catch永远为空.
是的,您需要按照@Stultuske的建议将这些代码最终放入
标签:sonarqube,code-analysis,findbugs,java 来源: https://codeday.me/bug/20191027/1947792.html