如何覆盖Beego的recoverPanic?我已设置标志recoverpanic = false
并编写我自己的恢复但没有运气,它只是将恐慌消息打印到控制台而不是跳转到我的恢复功能。
func main() {
defer recoverPanic()
beego.Run()
}
func recoverPanic() {
if err := recover(); err != nil {
fmt.Println("Panic should go there")
}
}
我想捕捉所有意外错误,例如nil pointer
,写一些日志并发送电子邮件给我们的维护人员。
答案 0 :(得分:0)
您应该在每个goroutine的开头添加recoverPanic
。您在recover
函数中添加了main
,它不会缓存请求的panic
。
在Beego中试试这个:
func (c *MainController) Get() {
defer recoverPanic()
... Your Code ...
}