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ında ne yazdığına 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 etmenize ve eyleminize izin veren Cloud Storage Güvenlik Kurallarına sahip olmanıza rağmen hatayı düzeltmekte hâlâ zorlanıyorsanız Destek sayfamızı ziyaret ederek size nasıl yardımcı olabileceğimizi bize bildirin.
Hata Mesajlarını İşleme
Hataların oluşmasının birkaç nedeni olabilir. Bu nedenler arasında dosyanın mevcut olmaması, kullanıcının istenen dosyaya erişim izni olmaması veya kullanıcının dosya yüklemeyi iptal etmesi yer alır.
Sorunu doğru şekilde teşhis etmek ve hatayı gidermek için müşterimizin bildireceği tüm hataların tam listesini ve bunların nasıl ortaya çıkabileceklerini aşağıda bulabilirsiniz. Bu tablodaki hata kodları, 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 |
İstenen referansta nesne yok. |
ERROR_BUCKET_NOT_FOUND |
Cloud Storage için yapılandırılmış paket yok |
ERROR_PROJECT_NOT_FOUND |
Cloud Storage için hiçbir proje yapılandırılmadı |
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ının istenen işlemi gerçekleştirme yetkisi yok. Kurallarınızın doğru olduğundan emin olmak için kurallarınızı 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()
öğesini geçersiz bir URL ile çağırmaya çalışmak, IllegalArgumentException
öğesinin atılması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