errors.dart 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. enum InvalidReason {
  2. assetDeleted,
  3. assetDeletedEvent,
  4. sourceFileMissing,
  5. livePhotoToImageTypeChanged,
  6. imageToLivePhotoTypeChanged,
  7. livePhotoVideoMissing,
  8. thumbnailMissing,
  9. unknown,
  10. }
  11. extension InvalidReasonExn on InvalidReason {
  12. bool get isLivePhotoErr =>
  13. this == InvalidReason.livePhotoToImageTypeChanged ||
  14. this == InvalidReason.imageToLivePhotoTypeChanged ||
  15. this == InvalidReason.livePhotoVideoMissing;
  16. }
  17. class InvalidFileError extends ArgumentError {
  18. final InvalidReason reason;
  19. InvalidFileError(String message, this.reason) : super(message);
  20. @override
  21. String toString() {
  22. return 'InvalidFileError: $message (reason: $reason)';
  23. }
  24. }
  25. class SubscriptionAlreadyClaimedError extends Error {}
  26. class WiFiUnavailableError extends Error {}
  27. class SyncStopRequestedError extends Error {}
  28. class NoActiveSubscriptionError extends Error {}
  29. class StorageLimitExceededError extends Error {}
  30. // error when file size + current usage >= storage plan limit + buffer
  31. class FileTooLargeForPlanError extends Error {}
  32. class SilentlyCancelUploadsError extends Error {}
  33. class UserCancelledUploadError extends Error {}
  34. bool isHandledSyncError(Object errObj) {
  35. if (errObj is UnauthorizedError ||
  36. errObj is NoActiveSubscriptionError ||
  37. errObj is WiFiUnavailableError ||
  38. errObj is StorageLimitExceededError ||
  39. errObj is SyncStopRequestedError) {
  40. return true;
  41. }
  42. return false;
  43. }
  44. class LockAlreadyAcquiredError extends Error {}
  45. class UnauthorizedError extends Error {}
  46. class RequestCancelledError extends Error {}
  47. class InvalidSyncStatusError extends AssertionError {
  48. InvalidSyncStatusError(String message) : super(message);
  49. }
  50. class UnauthorizedEditError extends AssertionError {}
  51. class InvalidStateError extends AssertionError {
  52. InvalidStateError(String message) : super(message);
  53. }
  54. class KeyDerivationError extends Error {}
  55. class LoginKeyDerivationError extends Error {}
  56. class SrpSetupNotCompleteError extends Error {}
  57. class SharingNotPermittedForFreeAccountsError extends Error {}