深入理解 Go | panic 和 recover
golang 中使用了以下两个内置函数来处理错误和恢复:
func panic(v interface{}): * 一旦调用: * 立刻停止执行函数其他代码 * 执行结束后,在当前 Goroutine 中递归执行调用方的延迟函数调用 defer * 允许在 defer 中嵌套多次调用
func recover() interface{}: * 用于中止 panic 造成的程序崩溃 * 只能在 defer 中发挥作用(只有在 panic 之后调用才生效)
基于 Go 1.14
数据结构
panic 关键字在 golang 中由数据结构 runtime._panic 表示: 1
2
3
4