c# 异常处理finally存在的必要性

C#为什么要要有finally块?将finally块的内容写在异常处理块之外,不是同样可以实现相同的功能吗?(如果没异常或是有异常被接住,finally和异常处理块外的语... C#为什么要要有finally块?将finally块的内容写在异常处理块之外,不是同样可以实现相同的功能吗?(如果没异常或是有异常被接住,finally和异常处理块外的语句都会执行;如果有异常没被接住,finally和异常处理块外的语句都不会执行,程序出错)所以我觉得finally没必要。谁能说服我?

另,C++为什么没finally?本人对C++并不十分了解和感兴趣,这问题大概回答一下就行。

回答的好的会追加分的!!!
对异常处理的简单介绍就不用了,这个我知道。
展开
 我来答
水旁兴头小倒立
2010-03-11 · TA获得超过160个赞
知道答主
回答量:286
采纳率:0%
帮助的人:175万
展开全部
如果发生异常没有catch的话会被抛到上一级去处理,如果没有finally,这一级的资源就不好释放了
chenweidi232
2010-03-11 · TA获得超过674个赞
知道小有建树答主
回答量:858
采纳率:50%
帮助的人:403万
展开全部
finally块是因某些异常特殊需要而提供,如我们最常见的
数据库异常
try{
con.open();//打开数据库链接
com.Exe......//在此如果出现异常,con.close();不会执行了,将会执行
con.close();
}
catch{
....//异常处理代码
}
finally{
con.close();//最终关闭链接
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wappibz
2010-03-11 · TA获得超过407个赞
知道小有建树答主
回答量:660
采纳率:0%
帮助的人:451万
展开全部
你说有了if then 为什么要有 a>b?a:b这样的写法?
当然是为了方便啦
你正常也要关闭资源,异常也要关闭资源,你的想法没错,可以分开都写,这没问题,但是把你要写的语句放到finally里面,只写一次,不是更好么? 又方便修改,又节省字数,还利于欣赏,好处多多啊

c#是集c和java之长的语言 当然比c会多很多他没有的东西了 反正你也没兴趣 就不多说了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海迪拉森
2010-03-11 · TA获得超过203个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:0
展开全部
finally块可以实现异常安全,保证该块代码即使是出了异常也可以被完全执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式