Обработка ошибок облачного хранилища на Flutter

Иногда при создании приложения что-то идет не по плану и возникает ошибка!

Если вы сомневаетесь, перехватите исключение, выданное функцией, и посмотрите, что говорится в сообщении об ошибке.

final storageRef = FirebaseStorage.instance.ref().child("files/uid");
try {
  final listResult = await storageRef.listAll();
} on FirebaseException catch (e) {
  // Caught an exception from Firebase.
  print("Failed with error '${e.code}': ${e.message}");
}

Обработка сообщений об ошибках

Существует ряд причин возникновения ошибок, включая отсутствие файла, отсутствие у пользователя прав доступа к нужному файлу или отмену пользователем загрузки файла.

Чтобы правильно диагностировать проблему и устранить ошибку, ниже приведен полный список всех ошибок, о которых сообщит наш клиент, и описание того, как они возникли.

Код Описание
storage/unknown Произошла неизвестная ошибка.
storage/object-not-found По указанной ссылке не существует ни одного объекта.
storage/bucket-not-found Для облачного хранилища не настроено ни одно хранилище.
storage/project-not-found Ни один проект не настроен для облачного хранилища.
storage/quota-exceeded Превышена квота на ваш контейнер Cloud Storage . Если вы используете тарифный план Spark, рассмотрите возможность обновления до тарифного плана Blaze с оплатой по мере использования . Если вы уже используете тарифный план Blaze, обратитесь в службу поддержки Firebase.

Важно : с 1 октября 2025 года для использования Cloud Storage , даже контейнеров по умолчанию, потребуется тарифный план Blaze .
storage/unauthenticated Пользователь не аутентифицирован, пожалуйста, пройдите аутентификацию и повторите попытку.
storage/unauthorized Пользователь не авторизован для выполнения требуемого действия, проверьте правила безопасности, чтобы убедиться в их правильности.
storage/retry-limit-exceeded Превышен максимальный лимит времени на операцию (загрузка, скачивание, удаление и т. д.). Попробуйте загрузить еще раз.
storage/invalid-checksum Файл на клиенте не соответствует контрольной сумме файла, полученного сервером. Попробуйте загрузить еще раз.
storage/canceled Пользователь отменил операцию.
storage/invalid-event-name Указано неверное имя события. Должно быть одно из [ running , progress , pause ]
storage/invalid-url Неверный URL-адрес, предоставленный для refFromURL() . Должен иметь вид: gs://bucket/object или https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
storage/invalid-argument Аргумент, переданный в put() должен быть File , Blob или UInt8 Array. Аргумент, переданный в putString() должен быть raw, Base64 или Base64URL строкой.
storage/no-default-bucket В свойстве storageBucket вашей конфигурации не задан контейнер.
storage/cannot-slice-blob Обычно происходит, когда локальный файл был изменен (удален, сохранен снова и т. д.). Попробуйте загрузить снова, убедившись, что файл не изменился.
storage/server-file-wrong-size Файл на клиенте не соответствует размеру файла, полученного сервером. Попробуйте загрузить еще раз.