Files
EdgeCommon/pkg/rpc/errors/utils.go
2021-06-05 11:09:04 +08:00

33 lines
932 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package errors
import (
"errors"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
// HumanError 格式化GRPC相关错误
func HumanError(err error) error {
if err == nil {
return err
}
errStatus, ok := status.FromError(err)
if !ok {
return err
}
switch errStatus.Code() {
case codes.InvalidArgument:
return errors.New("错误的RPC参数" + err.Error())
case codes.DeadlineExceeded:
return errors.New("RPC操作超时请重试" + err.Error())
case codes.Unimplemented:
return errors.New("请求的RPC服务或方法不存在可能是没有升级API节点或者当前节点没有升级" + err.Error())
case codes.Unavailable:
return errors.New("RPC当前不可用请确保API节点已启动并检查当前节点和API节点之间的网络连接是正常的" + err.Error())
}
return err
}