【发布时间】:2014-09-26 20:51:34
【问题描述】:
我正在尝试弄清楚 panic() 和 recover() 的工作原理..
日志包
package log
import (
"fmt"
)
func Recover() {
fmt.Println("Recovering!")
if err := recover(); err != nil {
fmt.Println("Error message recovered!")
}
}
主包
package main
import (
"fmt"
log "www/pkg/log"
)
func main() {
defer func() {
log.Recover()
}()
panic("Fake error!")
}
输出
Recovering!
panic: Fake error!
为什么Error message recovered! 从未打印出来?
【问题讨论】:
标签: go