Errors.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // Errors.swift
  3. // RxSwift
  4. //
  5. // Created by Krunoslav Zaher on 3/28/15.
  6. // Copyright © 2015 Krunoslav Zaher. All rights reserved.
  7. //
  8. let RxErrorDomain = "RxErrorDomain"
  9. let RxCompositeFailures = "RxCompositeFailures"
  10. /// Generic Rx error codes.
  11. public enum RxError
  12. : Swift.Error
  13. , CustomDebugStringConvertible {
  14. /// Unknown error occurred.
  15. case unknown
  16. /// Performing an action on disposed object.
  17. case disposed(object: AnyObject)
  18. /// Arithmetic overflow error.
  19. case overflow
  20. /// Argument out of range error.
  21. case argumentOutOfRange
  22. /// Sequence doesn't contain any elements.
  23. case noElements
  24. /// Sequence contains more than one element.
  25. case moreThanOneElement
  26. /// Timeout error.
  27. case timeout
  28. }
  29. extension RxError {
  30. /// A textual representation of `self`, suitable for debugging.
  31. public var debugDescription: String {
  32. switch self {
  33. case .unknown:
  34. return "Unknown error occurred."
  35. case .disposed(let object):
  36. return "Object `\(object)` was already disposed."
  37. case .overflow:
  38. return "Arithmetic overflow occurred."
  39. case .argumentOutOfRange:
  40. return "Argument out of range."
  41. case .noElements:
  42. return "Sequence doesn't contain any elements."
  43. case .moreThanOneElement:
  44. return "Sequence contains more than one element."
  45. case .timeout:
  46. return "Sequence timeout."
  47. }
  48. }
  49. }