首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

问一个捕获错误的有关问题

2012-09-16 
问一个捕获异常的问题finally {if (conn ! null){conn.close()}}在finally中如果直接写成这样就会报错,

问一个捕获异常的问题
finally {
if (conn != null){ 

conn.close();

}
}
在finally中如果直接写成这样就会报错,必须加上try/catch才可以,就像这样

finally {
if (conn != null){ 

try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
为什么必须要try/catch呢

[解决办法]
void close()
throws SQLException立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。 
在已经关闭的 Connection 对象上调用 close 方法是无操作 (no-op)。 

注:Connection 对象在进行垃圾回收时被自动关闭。某些严重的错误也会关闭 Connection 对象。 


抛出: 
SQLException - 如果发生数据库访问错误


API文档中写得很清楚,会抛出SQLException 异常,所以必须捕获

热点排行