mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-10 20:15:59 +08:00
feat: use robot to migrate code
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package specialerror
|
||||
|
||||
import "github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
|
||||
|
||||
var handlers []func(err error) errs.CodeError
|
||||
|
||||
func AddErrHandler(h func(err error) errs.CodeError) {
|
||||
if h == nil {
|
||||
panic("nil handler")
|
||||
}
|
||||
handlers = append(handlers, h)
|
||||
}
|
||||
|
||||
func AddReplace(target error, codeErr errs.CodeError) {
|
||||
AddErrHandler(func(err error) errs.CodeError {
|
||||
if err == target {
|
||||
return codeErr
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func ErrCode(err error) errs.CodeError {
|
||||
if codeErr, ok := err.(errs.CodeError); ok {
|
||||
return codeErr
|
||||
}
|
||||
for i := 0; i < len(handlers); i++ {
|
||||
if codeErr := handlers[i](err); codeErr != nil {
|
||||
return codeErr
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user