杜龙少(sdvdxl)

golang打印错误栈信息

字数统计: 59阅读时长: 1 min
2016/03/15 Share
(文章比较久了可能已经过时)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package main
import (
"runtime"
"fmt")
func main() {
outer()
}

func outer() {
inner()
}

func inner() {
defer func() {
if err := recover(); err != nil {
trace := make([]byte, 1024)
count := runtime.Stack(trace, true)
fmt.Printf("Recover from panic: %s\n", err)
fmt.Printf("Stack of %d bytes: %s\n", count, trace)
}
}()

panic("Fake error!")
}

原文作者:杜龙少(sdvdxl)

原文链接:https://todu.top/posts/12856/

发表日期:2016-03-15 18:21:05

更新日期:2021-01-20 23:30:16

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG