errors.go 759 B

1234567891011121314151617181920212223242526272829303132333435
  1. package ezdb
  2. import (
  3. "errors"
  4. "strings"
  5. )
  6. // High-level EZ DB error.
  7. // These are not exhaustive and your chosen implementation of Collection may produce its own errors.
  8. var (
  9. ErrClosed = errors.New("collection is closed")
  10. ErrInvalidKey = errors.New("invalid key")
  11. ErrNotFound = errors.New("not found")
  12. ErrReleased = errors.New("iterator has been released")
  13. )
  14. // Errors collates one or more errors.
  15. // It is mainly used for testing.
  16. type Errors []error
  17. func (e Errors) Error() string {
  18. strs := []string{}
  19. for _, err := range e {
  20. strs = append(strs, err.Error())
  21. }
  22. return strings.Join(strs, "\n")
  23. }
  24. // Resolve a Errors to an error or nil, if it is empty.
  25. func (e Errors) Resolve() error {
  26. if len(e) > 0 {
  27. return e
  28. }
  29. return nil
  30. }