error.go 720 B

123456789101112131415161718192021222324252627282930313233343536
  1. package mountree
  2. type ErrNo uint8
  3. const (
  4. ErrMountPointAlreadyExists ErrNo = iota
  5. ErrMountPointNotExists ErrNo = iota
  6. ErrNoAvailableMountPointForThisPath ErrNo = iota
  7. )
  8. func (e ErrNo) Error() string {
  9. switch e {
  10. case ErrMountPointAlreadyExists:
  11. return "mount point already exists"
  12. case ErrMountPointNotExists:
  13. return "mount point not exists"
  14. case ErrNoAvailableMountPointForThisPath:
  15. return "no available mount point for this path"
  16. default:
  17. return "unknown error"
  18. }
  19. }
  20. var _ error = (*ErrNo)(nil)
  21. func CheckErrorType(err error, errNo ErrNo) bool {
  22. if err == nil {
  23. return false
  24. }
  25. switch err.(type) {
  26. case ErrNo:
  27. return err.(ErrNo) == errNo
  28. default:
  29. return false
  30. }
  31. }