github.com/lingyao2333/mo-zero@v1.4.1/core/rescue/recover.go (about)

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