当前页面: 开发资料首页 → Eclipse 专题 → close在try里面关闭的问题
close在try里面关闭的问题
摘要: close在try里面关闭的问题
close在try里面关闭的问题
我在try里面用了Connection连接.
然后想关掉.
可我把close放在②和③处时,eclipse报错..可我把他放在①处时.eclipse没报错.当放在那里.如果try里面出错了.直接到catch里面了.就达不到close了.请问是怎么一回事.
try
{
:
:
:
Conn = DriverManager.getConnection ("jdbc:oracle:thin:@192.168.2.177:1521:DESDB", "des", "des");
Pment=Conn.prepareStatement(strSql);
ret=Pment.executeQuery();
①
}
catch
{
②
}
finally
{
③
}
可能是Conn 变量的作用域,把该变量定义在try外面,再试试看
lz看看基础知识吧
close最好放在finally中
当然是在finally里面关了!其他地方关掉会影响到程序的!
你知道你代码实现的过程吗??
你放到2,3处是报编译错误吧,因为catch 中的Conn = null
你放到1处虽然没有编译错误,但一但上面的东西出异常,也不会执行到那里
首先是
Conn = DriverManager.getConnection ("jdbc:oracle:thin:@192.168.2.177:1521:DESDB", "des", "des");
这个会抛各种各样的异常,具体也就不多说啦,最重要的是一抛异常,Conn就为NULL
但是你的连接就是Conn 你在哪里Close它都会抛NULL异常
所以你那个连接和其它的处理是不能放在一起处理的.分开想想逻辑就可以搞定啦
Connection conn = null;//define it
try
{
:
:
:
Conn = DriverManager.getConnection ("jdbc:oracle:thin:@192.168.2.177:1521:DESDB", "des", "des");
Pment=Conn.prepareStatement(strSql);
ret=Pment.executeQuery();
①//conn.close();//here close it
}
catch
{
②
}
finally
{
③
if(conn!=null)conn.close();//and here
}
谢谢
aaa2003gf(珍惜 (MSN:aaa2003gf@hotmail.com))
YuLimin(阿敏总司令:简单就是美)
分少了些.请笑纳..