try finally

cendy1123 2008-03-08 05:01:49
try
{
A...
}
finally
{
B...
}

这个结构应该无论A里有没有异常,都执行B吧.但是现在A异常了.都抛出异常信息,让选择是退出还是继续.
...全文
309 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hearyone 2008-03-09
  • 打赏
  • 举报
回复
不一样.
try{A}
catch{}
finally{B}
只有出现异常才执行.

后一个出不出现都执行.


如果不是必须你最后一项可以省去吧,若是加上肯定是要执行的!
iamwei20071126 2008-03-09
  • 打赏
  • 举报
回复
catch用于捕获异常信息,也就是只有出现异常时才执行,而FINALLY是不管有没有异常都会执行
TomYau 2008-03-09
  • 打赏
  • 举报
回复
try{A}
catch{throw new ArgumentException("Empty record");}
finally{B}
如果出现异常, catch throw了一些东西出來,
finally里面的B是肯定要执行的
starlessnt 2008-03-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 iamwei20071126 的回复:]
catch用于捕获异常信息,也就是只有出现异常时才执行,而FINALLY是不管有没有异常都会执行
[/Quote]


lijavasy 2008-03-08
  • 打赏
  • 举报
回复
顶楼上,不过得有异常处理.
xiaobenben_net 2008-03-08
  • 打赏
  • 举报
回复
try{A}
catch{}
finally{B}
finally里面的东西是肯定要执行的,不管是否出现异常
cnfixit 2008-03-08
  • 打赏
  • 举报
回复
不大对吧
try{A}
catch{}
finally{B}
B是怎么样都执行吧
stning 2008-03-08
  • 打赏
  • 举报
回复
你理解.net中的异常处理吗?你这样也没说抛出异常信息。
h_w_king 2008-03-08
  • 打赏
  • 举报
回复
不一样.
try{A}
catch{}
finally{B}
只有出现异常才执行.

后一个出不出现都执行.
cendy1123 2008-03-08
  • 打赏
  • 举报
回复
try{A}
finally{B}
A异常了会throw信息,如何把这个事件取消.

是不是只有
try{A}
catch{}
finally{B}


另一个问题:
try{A}
catch{}
finally{B}

try{A}
catch{}
B
相同吗?
virusswb 2008-03-08
  • 打赏
  • 举报
回复
go on
finally里面的东西是肯定要执行的
h_w_king 2008-03-08
  • 打赏
  • 举报
回复
catch 
{
if (MessageBox.Show("Quit", "error", MessageBoxButtons.YesNo) == DialogResult.Yes)
this.Close();
else
return;
}
cendy1123 2008-03-08
  • 打赏
  • 举报
回复
不要做throw
kompany 2008-03-08
  • 打赏
  • 举报
回复
那个...没看懂你要问什么 汗一下
机器人 2008-03-08
  • 打赏
  • 举报
回复
你的问题是什么?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧