first commit read https://wskdsgcf.gitbook.io/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7/03.7.5 then https://draveness.me/golang/docs/part2-foundation/ch05-keyword/golang-panic-recover/