gitee.com/h79/goutils@v1.22.10/common/system/recover.go (about)

     1  package system
     2  
     3  type RecoverFunc func(r any)
     4  
     5  var DefRecoverFunc RecoverFunc = func(r any) {
     6  }
     7  
     8  func Recover(cleanups ...func()) {
     9  	for i := range cleanups {
    10  		cleanups[i]()
    11  	}
    12  	if r := recover(); r != nil {
    13  		if DefRecoverFunc != nil {
    14  			DefRecoverFunc(r)
    15  		}
    16  	}
    17  }