grpc_error.go 524 B

12345678910111213141516171819202122
  1. package grpcutil
  2. import (
  3. "fmt"
  4. "kpt-grpc-demo/util/xerr"
  5. "google.golang.org/grpc/codes"
  6. "google.golang.org/grpc/status"
  7. )
  8. func ClassifyError(err error, request interface{}) error {
  9. if err == nil {
  10. return nil
  11. }
  12. _, isCus := xerr.IsCustomError(err)
  13. if isCus {
  14. return status.Error(codes.InvalidArgument, xerr.WrapWithLog(fmt.Errorf("err: %v, request: %+v", err, request)).Error())
  15. } else {
  16. return status.Error(codes.Internal, xerr.WrapWithLog(fmt.Errorf("err: %v, request: %+v", err, request)).Error())
  17. }
  18. }