Обработка ошибок облачного хранилища на 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.

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