Java-C# 关闭程序,数据库连接的问题

Java-C# 关闭程序,数据库连接的问题

虐人心 发布于 2017-09-25 字数 142 浏览 1159 回复 6

把运行的程序关闭了,没有关闭数据库连接有什么问题?
在try-catch中,catch语句中退出程序,finally中的关闭数据库连接会执行吗?为什么?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

清晨说ぺ晚安 2017-10-20 6 楼

把运行的程序关闭了,没有关闭数据库连接有什么问题?
-只要你的程序程序真的关闭了,数据库连接会自动释放。

在try-catch中,catch语句中退出程序,finally中的关闭数据库连接会执行吗?为什么?
-不知道你在catch中退出程序是怎么个退出法,另外为什么要在catch中退出程序?
一般来说在catch中一般都会trace出exception信息,根据情况 处理/不处理 exception。
对于finally是否执行,你可以在finally中加上trace信息来验证。

多调试,多试验,很多问题自然就清楚了!

浮生未歇 2017-10-20 5 楼

这种情况有时候会抛出异常。有时候不会。这主要看是什么时候回收对象的。如果只是close的画,关了主窗体,会有空指针的异常。最好是终止所有所有的程序相关的进城。

泛泛之交 2017-10-08 4 楼

如果你在catch里加上 catch{System.exit(-1);} 他就会直接关闭程序 fianlly内的语句就不会执行到了

瑾兮 2017-10-06 3 楼

finally是一定会执行的

夜无邪 2017-10-04 2 楼

还有一点补充:

try{} catch 和 finally 这三个,

try{} 是必须有的, 但是后面2个: catch 和 finally ,2选1,

你可以try{}catch{} 组合

也可以try{} finally{} 组合

浮生未歇 2017-10-01 1 楼

在C#中,如果Try-catch后有Finally,一定会执行Finally中的语句,执行完成后才会继续原有的跳转或退出。例如

try
{
//something throw a exception
}
catch
{
//do something
return ;
}
finally
{
//do something
}

在return之前一定会执行finally中的语句,并且Finally中不允许跳转。
可以在程序中进行调试以进行验证。