Go语言基础 — panic, recover
Golang Basic — panic, recover
1 min readJun 8, 2019
panic
- 停止当前函数执行
- 一直向上返回,执行每一层的defer
- 如果没有遇见recover,程序退出
recover
- 仅在defer中调用
- 获取panic的值
- 如果无法处理,可以重新panic
系统的panic也可以捕捉到。
但是panic()
的参数是interface{},
可以传入任何值,而recover()
的返回值也是interface{}
,所以recover不知道如何处理的时候需要继续panic处理。
加入传入一个panic(123)