请教,如何将crash信息输出到文件?

plain · · 2409 次点击
package main import "fmt" func divideByZero() { // Use this deferred function to handle errors. defer func() { if err := recover(); err != nil { fmt.Println("HERE") fmt.Println(err) fmt.Println(0) } }() // Cause an error. // ... Go will run the defer func above. cat := 0 dog := 10 / cat fmt.Println(dog) } func main() { // Create a divide by zero error and handle it. divideByZero() }
#5
更多评论
我明白了,这个函数是可以的,但是每个goroutine都需要执行这个函数。 runtime.Stack(buf, true)可以改成runtime.Stack(buf, false) 只打印本goroutine的错误信息
#1
qkb_75_go
琴为心声
能做到吗? 都已经 crash 了, 还能输出到文件吗?
#2