c – 转出try块是否合法?
我有一些代码,我从一个非常聪明的人那里继承,他们喜欢使用gotos离开try块,完全跳过catch块.
它确实有效,我怀疑这是合法的(我认为C标准说,从范围退出时,一切都得到了适当的清理,我认为这适用于编译器必须做的任何事情来在我的平台上实现异常) . 这真的合法吗?这不是我写过的东西(太聪明了一半),但它显然有效,我只是想明白为什么这样做. 解决方法
甚至比C 03标准关于跳转语句的部分更具体,它在“异常处理”子句(15/2)中说明了关于try-blocks的内容:
C 11包含相同的措辞. 但请注意,使用goto(或开关)跳转到try块是不行的:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |