Go Panic

Panic表示的意思就是有些意想不到的错误发生了。通常我们用来表示程序正常运行过程中不应该出现的,或者我们没有处理好的错误。

  1. package main
  2. import "os"
  3. func main() {
  4. // 我们使用panic来检查预期不到的错误
  5. panic("a problem")
  6. // Panic的通常使用方法就是如果一个函数
  7. // 返回一个我们不知道怎么处理的错误的
  8. // 时候,直接终止执行。
  9. _, err := os.Create("/tmp/file")
  10. if err != nil {
  11. panic(err)
  12. }
  13. }

运行结果

  1. panic: a problem
  2. goroutine 1 [running]:
  3. runtime.panic(0x44e060, 0xc0840031b0)
  4. C:/Users/ADMINI~1/AppData/Local/Temp/2/bindist667667715/go/src/pkg/runtime/panic.c:266 +0xc8
  5. main.main()
  6. D:/GoDoc/go_panic.go:8 +0x58
  7. exit status 2

和其他的编程语言不同的是,Go并不使用exception来处理错误,而是通过函数返回值返回错误代码。