Golang错误处理 主程序包 导入“时间” func main(){ //无限循环 为了{ 对于i:=0;i
我需要程序将执行从一开始,如果一个错误块发生Golang错误处理 主程序包 导入“时间” func main(){ //无限循环 为了{ 对于i:=0;i,go,Go,我需要程序将执行从一开始,如果一个错误块发生 如何处理它?使用goto是处理嵌套循环中错误流的常用方法 package main import "time" func main() { // infinite loop for { for i := 0; i < 2; i++ { conn, err := opentsdb.OpenConnection() if err {
如何处理它?使用
goto
是处理嵌套循环中错误流的常用方法
package main
import "time"
func main() {
// infinite loop
for {
for i := 0; i < 2; i++ {
conn, err := opentsdb.OpenConnection()
if err {
time.Sleep(10 * time.Second)
}
}
}
}
func main(){
重新启动:
为了{
对于i:=0;i<2;i++{
conn,err:=opentsdb.OpenConnection()
如果出错{
时间。睡眠(10*时间。秒)
转到重新启动
}
}
}
}
如果您只想重新启动外部循环,而
restart
标签和for
循环之间没有任何内容,则可以使用continue restart
在restart
标签处继续循环。在这个简单的例子中,仅仅使用break
也将继续外部循环 你是对的——for循环将永远运行。要求是什么?如果出现错误,是否希望程序退出?这个问题不清楚你想做什么。“处理它”可以指很多事情。@icza:是的,这在这里也适用。我只是假设这样一个简单的示例可能缺少其他逻辑,否则您也可以在这里中断。
func main() {
RESTART:
for {
for i := 0; i < 2; i++ {
conn, err := opentsdb.OpenConnection()
if err {
time.Sleep(10 * time.Second)
goto RESTART
}
}
}
}