9个回答
展开全部
举个例来说
try{
stmt.execute();
}catch (SqlException e){}
stmt.close();//try catch
这段代码,close()肯定会执行,但是在trycatch中如果有没被捕捉到的异常,比如
Integer.ParseInt("");抛出的是formatException
如果不用finally,就会直接向上抛,
下面那个close();就不会再执行了。
所以一般这种close操作要放在finally中
try{
stmt.execute();
}catch (SqlException e){}
stmt.close();//try catch
这段代码,close()肯定会执行,但是在trycatch中如果有没被捕捉到的异常,比如
Integer.ParseInt("");抛出的是formatException
如果不用finally,就会直接向上抛,
下面那个close();就不会再执行了。
所以一般这种close操作要放在finally中
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除非调用exit方法或者关闭程序,否则finally内的程序都会执行。加finally的好处是,如果程序在运行过程中发生了异常,无法继续执行下去,这是就要把打开的资源关闭,不关闭的话后导致down机,所以把需要关闭的资源放在finally里面,这样无论是否发生异常,最后都能关闭资源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果不要finally,你需要在catch里面处理异常并且要释放连接,你还需要在没异常程序正常执行完之后在次释放连接,同样代码要写两次,所以不妨就直接放在finally里面,简单明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
finally的作用是保证无论程序正确执行还是发生异常,都把占用资源的connection给close掉,以释放资源。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询