【发布时间】:2012-11-07 17:10:10
【问题描述】:
我有一段代码如下:
try
{
Work:
while(true)
{
// Do some work repeatedly...
}
}
catch(Exception)
{
// Exception caught and now I can not continue
// to do my work properly
// I have to reset the status before to continue to do my work
ResetStatus();
// Now I can return to do my work
goto Work;
}
与使用goto 相比,有没有更好的选择?或者这是一个好的解决方案?
【问题讨论】:
-
为什么不把你的try catch放在while里面呢?那么就不需要 goto...
-
为什么要投反对票?这是一个合理的问题
-
我认为它被否决了,因为有人提到 Jeho ...我的意思是 goto ;) 很多人都非常讨厌 goto,虽然它几乎从来没有必要或明智地使用,但它仍然存在一个理由,这不是最邪恶的陈述。
-
@AlexK.,我没有投反对票,但我确实投票结束了。按照目前的措辞,这个问题没有真正的答案。很多人可以就最佳实践给你意见,大多数人都会向 goto 致敬,但总的来说,这是一个意见问题。
-
@AlexK.:我认为是因为它基本上是代码审查,而不是本网站的内容。虽然我说这不是作为反对者之一,但我考虑出于这个原因投票结束。