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

关于错误在数据库中的处理

2012-01-03 
关于异常在数据库中的处理对于下面的代码,会否产生部份对象不能收回???还有一个我关心的地方,就是如果中途

关于异常在数据库中的处理
对于下面的代码,会否产生部份对象不能收回???
还有一个我关心的地方,就是如果中途代码有问题,throw了一个异常后, con 对像会否自动 close ?

try {
Connection con = xxx.open();

Statement ....
While(rs.next())
{
...
}
...
close();
}
catch(Exception e)
{
System.out.println("exception :"+e.getMessage());
}

[解决办法]
不会的 throw了一个异常后, 下面的就不会在执行了


等垃圾回收


[解决办法]
try { 
Connection con = xxx.open(); 

Statement st .... 
While(rs.next()) 

... 

... 


catch(Exception e) 

System.out.println("exception :"+e.getMessage()); 
}finally
{
rs.close();
st.close();
con.close(); 
}
这样不管你怎么折腾都会关闭了 给分~~~
[解决办法]
to koj5201314,
你在 finally 里指定 
con.close()是否会有错误呢?
Connection 定义的范围........

其实正确标准的写法会是怎么样 ?
[解决办法]
Connection con = null;
try {
con = xxx.open();

con.setAutoCommit(false);
con.commit();
}
catch(Exception e)
{
try{
con.rollback();
}
catch(Exception ex){
}
System.out.println( "exception : "+e.getMessage());
}

finally{
try{
con.close();
}
catch(Exception ex){
}
}

热点排行