5.5. Panic Recovery
说明
panic
这个词,在英语中具有恐慌、恐慌的
等意思。从字面意思理解的话,在 Go 语言中,代表极其严重的问题,程序员最害怕出现的问题。一旦出现,就意味着程序的结束并退出。Go 语言中 panic
关键字主要用于主动抛出异常。
recover
这个词,在英语中具有恢复、复原
等意思。从字面意思理解的话,在 Go 语言中,代表将程序状态从严重的错误中恢复到正常状态。Go 语言中 recover
关键字主要用于捕获异常,让程序回到正常状态。
我们的程序是一个 web 服务器,当程序发生 panic 时,我们不希望 web 服务器中断运行,而是使用 recover 记录 error 级别的日志,并重新运行程序。
Gin 内置了一个中间件 gin.Recovery()
:
func registerGlobalMiddleWare(router