error.go 614 B

123456789101112131415161718192021222324252627282930313233343536
  1. package cerror
  2. import (
  3. "xiaoniaokuaiyan.com/xiaoniao/constants"
  4. )
  5. import "fmt"
  6. type CError interface {
  7. error
  8. CError() string
  9. GetErrno() int
  10. }
  11. type customError struct {
  12. Errno constants.ErrorCode `json:"errno"`
  13. Errmsg string `json:"error"`
  14. }
  15. func (err *customError) Error() string {
  16. return err.Errmsg
  17. }
  18. func (err *customError) GetErrno() int {
  19. return int(err.Errno)
  20. }
  21. func (err *customError) CError() string {
  22. return fmt.Sprintf("%d:%s", err.Errno, err.Errmsg)
  23. }
  24. func New(errno constants.ErrorCode, msg string) *customError {
  25. return &customError{
  26. Errno: errno,
  27. Errmsg: msg,
  28. }
  29. }