我有以下代码示例:
try {
conn = this.jdbcTemplate.getDataSource().getConnection();
stm = conn.prepareCall("{? =" + query + "}");
stm.registerOutParameter(1, OracleTypes.CURSOR);
if (params != null) {
for (int i = 0; i < params.length; i++)
stm.setString(i + 2, params[i]);
}
//getting result set from cursor
stm.execute();
res = (ResultSet) stm.getObject(1);
return DatabaseLayerUtils.getResultSetData(res);
} finally {
//closing cursor
if (res != null) res.close();
if (stm != null) stm.close();
if (conn != null) conn.close();
}
部分中的元素顺序是否finally
重要?
是以下代码:
if (res != null) res.close();
if (stm != null) stm.close();
等于:
if (stm != null) stm.close();
if (res != null) res.close();
或不?
在我的同事正在进行的一个项目中,有很多结构,例如:
if (stm != null) stm.close();
if (res != null) res.close();
我需要了解这是否是正确的语法,或者我是否需要如图所示进行修复:
if (res != null) res.close();
if (stm != null) stm.close();
谢谢。