能在catch块中使用goto跳回try块么?

如果有下面一段代码:

   try
   {
   TryTag: throw new Exception("new exception");
   }
   catch(Exception ex)
   {
    goto TryTag;
   }

     大家猜猜会是什么结果?是进入一个死循环?还是C#不允许从catch转回try?抑或其他?开动脑筋~~

     OK,time to publish the answer~答案是:根本就编译通不过!

      嘿嘿,为什么嘞?C#做了限制,不允许catch转回try?表面上看起来是,但内幕其实是这样的:在try中我们加了一个标签TryTag,用来作goto的指向标,但是,TryTag也是有生存空间的,它的生存空间仅限于try块中……所以,在catch块中用goto TryTag的时候,就会编译报错,告诉你没有这么个标签~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值