Bazen işler planlandığı gibi gitmez ve bir hata oluşur.
Şüpheye düştüğünüzde, döndürülen hatayı kontrol edin ve hata mesajının ne söylediğine bakın. Aşağıdaki kod, Cloud Storage tarafından döndürülen hata kodunu ve hata mesajını inceleyen özel bir hata işleyici uygulamasını gösterir. Bu tür hata işleyiciler, Cloud Storage API'de kullanılan çeşitli nesnelere eklenebilir (örneğin, UploadTask
ve FileDownloadTask
).
Kotlin+KTX
internal inner class MyFailureListener : OnFailureListener { override fun onFailure(exception: Exception) { val errorCode = (exception as StorageException).errorCode val errorMessage = exception.message // test the errorCode and errorMessage, and handle accordingly } }
Java
class MyFailureListener implements OnFailureListener { @Override public void onFailure(@NonNull Exception exception) { int errorCode = ((StorageException) exception).getErrorCode(); String errorMessage = exception.getMessage(); // test the errorCode and errorMessage, and handle accordingly } }
Hata mesajını kontrol ettiyseniz ve eyleminize izin veren Bulut Depolama Güvenlik Kurallarına sahipseniz, ancak hatayı düzeltmeye devam ediyorsanız, Destek sayfamızı ziyaret edin ve nasıl yardımcı olabileceğimizi bize bildirin.
Hata Mesajlarını İşle
Dosyanın mevcut olmaması, kullanıcının istenen dosyaya erişim iznine sahip olmaması veya kullanıcının dosya yüklemeyi iptal etmesi dahil olmak üzere hataların oluşabilmesinin çeşitli nedenleri vardır.
Sorunu doğru bir şekilde teşhis etmek ve hatayı ele almak için müşterimizin oluşturacağı tüm hataların ve bunların nasıl oluşabileceğinin tam listesi burada. Bu tablodaki hata kodları, StorageException
sınıfında tamsayı sabitleri olarak tanımlanır.
kod | Sebep |
---|---|
ERROR_UNKNOWN | Bilinmeyen bir hata oluştu. |
ERROR_OBJECT_NOT_FOUND | İstenen referansta hiçbir nesne yok. |
ERROR_BUCKET_NOT_FOUND | Cloud Storage için hiçbir paket yapılandırılmadı |
ERROR_PROJECT_NOT_FOUND | Cloud Storage için hiçbir proje yapılandırılmadı |
ERROR_QUOTA_EXCEEDED | Cloud Storage grubunuzdaki kota aşıldı. Ücretsiz katmandaysanız, ücretli bir plana yükseltin. Ücretli bir plan kullanıyorsanız Firebase desteğiyle iletişime geçin. |
ERROR_NOT_AUTHENTICATED | Kullanıcının kimliği doğrulanmadı, lütfen kimliği doğrulayın ve tekrar deneyin. |
ERROR_NOT_AUTHORIZED | Kullanıcının istenen eylemi gerçekleştirme yetkisi yok, doğru olduklarından emin olmak için kurallarınızı kontrol edin. |
ERROR_RETRY_LIMIT_EXCEEDED | Bir işlemdeki (yükleme, indirme, silme vb.) maksimum süre sınırı aşıldı. Tekrar deneyin. |
ERROR_INVALID_CHECKSUM | İstemcideki dosya, sunucu tarafından alınan dosyanın sağlama toplamıyla eşleşmiyor. Tekrar yüklemeyi deneyin. |
ERROR_CANCELED | Kullanıcı işlemi iptal etti. |
Ek olarak, geçersiz bir URL ile getReferenceFromUrl()
çağırmaya çalışmak, bir IllegalArgumentException
atılmasına neden olur. Yukarıdaki yöntemin argümanı gs://bucket/object
veya https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
biçiminde olmalıdır.