【发布时间】:2011-06-09 04:23:34
【问题描述】:
为什么这样做
} catch (SQLException sqle) {
sqle.printStackTrace();
} finally {
cs.close();
rs.close();
}
不是这个
} catch (SQLException sqle) {
sqle.printStackTrace();
}
rs.close();
cs.close();
【问题讨论】:
-
请注意,如果您的第一个
close抛出异常,您将永远无法到达第二个。事实证明,通常最好不要将拙劣的catch和finally与相同的try块一起使用。 -
java7 不再需要:AutomaticResourceManagement, try(new resourceDeclartion()){}