github.com/shuguocloud/go-zero@v1.3.0/core/rescue/recover.go (about)

     1  package rescue
     2  
     3  import "github.com/shuguocloud/go-zero/core/logx"
     4  
     5  // Recover is used with defer to do cleanup on panics.
     6  // Use it like:
     7  //  defer Recover(func() {})
     8  func Recover(cleanups ...func()) {
     9  	for _, cleanup := range cleanups {
    10  		cleanup()
    11  	}
    12  
    13  	if p := recover(); p != nil {
    14  		logx.ErrorStack(p)
    15  	}
    16  }