【发布时间】:2012-09-19 11:08:34
【问题描述】:
我通常会陷入这样一种情况,即 goto 似乎是我心目中的最佳选择。但是看了好几遍都没用,总有替代的。现在,我正在尝试这样的事情:-
try{
//Something that requires internet connectivity;
}
catch{
//Show a message-Internet connectivity lost,and go back to try
//-->FYI--Ignore "show message", because I am just appending this text to a
// textbox. So there won't be a problem of multiple ShowMessage Boxes.
}
现在,在我看来,最好的选择是在 catch 语句中使用 goto,但我试图避免它。 try 是函数中的第一个语句,如果我记得那个函数,我正在堆积堆栈,所以这也不是一个更好的选择。我可以采取什么替代方案?
【问题讨论】:
-
是否可以为此创建一个函数?
-
你的意思是try块里面的所有东西?是的,代码很简单,我可以为它创建一个函数,或者我不明白你的意思?
-
“但我读了好几遍都没用”——你在哪里读到的? Edsger W. Dijkstra 的引述是关于在特定语言中过度使用
GOTO。 -
是的,您没看错,然后您再次调用该函数。但也请检查下面的答案。他们可能会提供更好的选择
-
@Oded:我在一本 C 的书(Yashwant Kanetkar)中读到它,因为这是我的第一本编程书,所以它的一切都在我脑海中浮现(就像有人告诉你鬼故事一样在童年时期,他们永远卡住了)。我清楚地记得那句话——“避免使用 goto,它们让程序员的生活变得悲惨”:-D。但是,它通常会使我的工作更简单。