Flutter'da Cloud Storage hatalarını işleme

Bazen bir uygulama geliştirirken, işler planlandığı gibi gitmez ve hata oluşur!

Şüpheye düştüğünüzde, fonksiyonun attığı istisnayı yakalayın mesajında ne yazdığını görebilirsiniz.

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}");
}

Hata Mesajlarını İşleme

Hataların oluşmasının birkaç nedeni vardır. Örneğin, mevcut olmaması, kullanıcının istenen dosyaya erişme izninin olmaması veya kullanıcının dosya yüklemeyi iptal etmesi.

Sorunu doğru bir şekilde teşhis etmek ve hatayı gidermek için aşağıdaki listede ve bunların nasıl ortaya çıktığı.

Kod Açıklama
storage/unknown Bilinmeyen bir hata oluştu.
storage/object-not-found İstenen referansta nesne yok.
storage/bucket-not-found Cloud Storage için yapılandırılmış paket yok
storage/project-not-found Cloud Storage için hiçbir proje yapılandırılmadı
storage/quota-exceeded Cloud Storage paketinizdeki kota aşıldı. Ücretsiz katmandaysanız ücretli plana geçin. Ücretli bir plan kullanıyorsanız Firebase destek ekibiyle iletişime geçin.
storage/unauthenticated Kullanıcının kimliği doğrulanmamış. Lütfen kimliğinizi doğrulayıp tekrar deneyin.
storage/unauthorized Kullanıcının istenen işlemi gerçekleştirme yetkisi yok. Doğru olduklarından emin olmak için güvenlik kurallarınızı kontrol edin.
storage/retry-limit-exceeded Bir işlemdeki maksimum süre sınırı (yükleme, indirme, silme vb.) aşıldı. Tekrar yüklemeyi deneyin.
storage/invalid-checksum İstemcideki dosya, sunucu tarafından alınan dosyanın sağlama toplamıyla eşleşmiyor. Tekrar yüklemeyi deneyin.
storage/canceled Kullanıcı, işlemi iptal etti.
storage/invalid-event-name Sağlanan etkinlik adı geçersiz. [running, progress, pause] değerlerinden biri olmalıdır
storage/invalid-url refFromURL() için geçersiz URL sağlandı. Şu biçimde olmalıdır: gs://bucket/object veya https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
storage/invalid-argument put() işlevine iletilen bağımsız değişken File, Blob veya UInt8 Dizisi olmalıdır. putString() işlevine iletilen bağımsız değişken bir ham, Base64 veya Base64URL dizesi olmalıdır.
storage/no-default-bucket Yapılandırmanızın storageBucket mülkünde paket ayarlanmadı.
storage/cannot-slice-blob Genellikle yerel dosya değiştirildiğinde (silindiğinde, yeniden kaydedildiğinde vb.) oluşur. Dosyanın değişmediğini doğruladıktan sonra tekrar yüklemeyi deneyin.
storage/server-file-wrong-size İstemcideki dosya, sunucu tarafından alınan dosyanın boyutuyla eşleşmiyor. Tekrar yüklemeyi deneyin.