Golang捕获异常

90 阅读1分钟

Golang捕获异常

defer func() {
    if err := recover(); err != nil {
      fmt.Println("error is:", err)
      for i := 3; ; i++ { //跳过前三层panic信息
        _, file, line, ok := runtime.Caller(i)
        if !ok {
          break
        }
        fmt.Println(file, line)
      }
    }
  }()