求教大神,java中的jdbc程序为什么要加finally,不是加了try catch以后,后面的语句就会执行了啊

不明白,求解释... 不明白,求解释 展开
 我来答
百度网友4bb5d4e
2013-04-07 · TA获得超过121个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:111万
展开全部
与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。 如果没有 finally,您的代码就会很费解。

finally 块必须与 try 或 try/catch 块配合使用。此外,不可能退出 try 块而不执行其 finally 块。如果 finally 块存在,则它总会执行。
zrh_maple
2013-04-07 · TA获得超过234个赞
知道答主
回答量:160
采纳率:0%
帮助的人:94.7万
展开全部
举个例来说
try{
stmt.execute();
}catch (SqlException e){}
stmt.close();//try catch
这段代码,close()肯定会执行,但是在trycatch中如果有没被捕捉到的异常,比如
Integer.ParseInt("");抛出的是formatException
如果不用finally,就会直接向上抛,
下面那个close();就不会再执行了。
所以一般这种close操作要放在finally中
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
禄岚o2
2013-04-07 · TA获得超过131个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:133万
展开全部
除非调用exit方法或者关闭程序,否则finally内的程序都会执行。加finally的好处是,如果程序在运行过程中发生了异常,无法继续执行下去,这是就要把打开的资源关闭,不关闭的话后导致down机,所以把需要关闭的资源放在finally里面,这样无论是否发生异常,最后都能关闭资源
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Shuo_BD
2013-04-07 · TA获得超过399个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:225万
展开全部
如果不要finally,你需要在catch里面处理异常并且要释放连接,你还需要在没异常程序正常执行完之后在次释放连接,同样代码要写两次,所以不妨就直接放在finally里面,简单明了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幽冥神者
2013-04-07 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1792万
展开全部
finally的作用是保证无论程序正确执行还是发生异常,都把占用资源的connection给close掉,以释放资源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式