Go 慎用panic

Go 慎用panic,panic是Go语言中的一个内置函数,它终止正常的控制流程并引发恐慌(panicking),导致程序停止执行。出现普通错误时,并不提倡这种做法,因为程序将停止执行,并且没有任何回旋余地。如下程序表明,panic导致程序立即停止执行。

 package main

 import (
  "fmt"
 )

 func main() {
  fmt.Println("This is executed")
  panic("Oh no. I can do no more. Goodbye.")
  fmt.Println("This is not executed")
 }

运行这个示例将引发panic,导致程序崩溃。
Go 慎用panic

调用panic后,程序将停止执行,因此打印This is not executed的代码行根本没有机会执行。

在Go代码中,常常滥用下面的做法,这实际是说:朋友,咱们无路可走,只能让程序崩溃了。在有些情况下,这样做是合适的,但通常不应这样做。

if err != nil {
panic(err)
}

在下面的情形下,使用panic可能是正确的选择。

  • 程序处于无法恢复的状态。这可能意味着无路可走了,或者再往下执行程序将带来更多的问题。在这种情况下,最佳的选择是让程序崩溃。

  • 发生了无法处理的错误。

酷客网相关文章:

赞(1)

评论 抢沙发

评论前必须登录!