error.go 751 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package util
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "fmt"
  6. )
  7. var ErrUnmarshall error = errors.New("Json Unmarshal Error")
  8. //CommonError 微信返回的错误信息
  9. type CommonError struct {
  10. ErrCode int64 `json:"errcode"`
  11. ErrMsg string `json:"errmsg"`
  12. }
  13. func NewCommonError(code int64, msg string) *CommonError {
  14. return &CommonError{ErrCode: code, ErrMsg: msg}
  15. }
  16. func (e *CommonError) Error() string {
  17. return e.ErrMsg
  18. }
  19. //CheckCommonError check CommonError
  20. func CheckCommonError(jsonData []byte) error {
  21. var errmsg CommonError
  22. if err := json.Unmarshal(jsonData, &errmsg); err != nil {
  23. return ErrUnmarshall
  24. }
  25. if errmsg.ErrCode != 0 {
  26. return fmt.Errorf("Error , errcode=%d , errmsg=%s", errmsg.ErrCode, errmsg.ErrMsg)
  27. }
  28. return nil
  29. }