Bazen işler planlandığı gibi gitmez ve hata meydana gelir.
Şüpheye düştüğünüzde, döndürülen hatayı kontrol edin ve hata mesajında ne yazdığına bakın.
Aşağıdaki kod,
Cloud Storage tarafından döndürülen hata kodu ve hata mesajı. Böyle bir hata
işleyiciler, Cloud Storage API'de kullanılan çeşitli nesnelere eklenebilir (
örnek, 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 işleminize izin veren bir Cloud Storage Security Rules'ye sahipseniz ancak hatayı düzeltmekte hâlâ sorun yaşıyorsanız Destek sayfamızı ziyaret edin ve size nasıl yardımcı olabileceğimizi bildirin.
Hata mesajlarını işleme
Dosyanın mevcut olmaması, kullanıcının istenen dosyaya erişme izninin olmaması veya kullanıcının dosya yüklemeyi iptal etmesi gibi çeşitli nedenlerle hata oluşabilir.
Sorunu doğru bir şekilde teşhis etmek ve hatayı gidermek için aşağıdaki listede
ve bunların nasıl ortaya çıkabileceği hakkında
bilgi edineceksiniz. Bu öğedeki hata kodları
tablosu, StorageException
sınıfında tam sayı sabitleri olarak tanımlanır.
Kod | Neden |
---|---|
ERROR_UNKNOWN |
Bilinmeyen bir hata oluştu. |
ERROR_OBJECT_NOT_FOUND |
İstenilen referansta 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 yapılandırılan proje yok |
ERROR_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. |
ERROR_NOT_AUTHENTICATED |
Kullanıcının kimliği doğrulanmamış. Lütfen kimliğinizi doğrulayıp tekrar deneyin. |
ERROR_NOT_AUTHORIZED |
Kullanıcı, istenen işlemi gerçekleştirme yetkisine sahip değil. Kurallarınızın doğru olduğundan emin olmak için kontrol edin. |
ERROR_RETRY_LIMIT_EXCEEDED |
Bir işlemdeki maksimum süre sınırı (yükleme, indirme, silme vb.) 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. |
Ayrıca, getReferenceFromUrl()
işlevini geçersiz bir URL ile çağırmaya çalışmak IllegalArgumentException
hatasının oluşmasına neden olur. Yukarıdaki yöntemin bağımsız değişkeni gs://bucket/object
veya https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
biçiminde olmalıdır.