Bazen işler planlandığı gibi gitmez ve 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östermektedir. Bu tür hata işleyiciler, Cloud Storage API'sinde kullanılan çeşitli nesnelere (ör. UploadTask ve FileDownloadTask) eklenebilir.
Kotlin
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 Cloud Storage Security Rules varsa ancak hatayı düzeltmekte hâlâ zorlanıyorsanız Destek sayfamızı ziyaret edin ve size nasıl yardımcı olabileceğimizi bize bildirin.
Hata mesajlarını işleme
Hataların oluşmasının çeşitli nedenleri olabilir. Örneğin, dosyanın mevcut olmaması, kullanıcının istenen dosyaya erişim izninin olmaması veya kullanıcının dosya yükleme işlemini iptal etmesi.
Sorunu doğru şekilde teşhis etmek ve hatayı gidermek için istemcimizin oluşturacağı tüm hataların tam listesini ve bunların nasıl oluşabileceğini 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 |
Belirtilen referansta nesne yok. |
ERROR_BUCKET_NOT_FOUND |
Cloud Storage için herhangi bir grup yapılandırılmadı. |
ERROR_PROJECT_NOT_FOUND |
Cloud Storage için yapılandırılmış proje yok |
ERROR_QUOTA_EXCEEDED |
Paketinizdeki kota aşıldı. Cloud Storage for Firebase için kullandıkça öde Blaze fiyatlandırma planı gerekir. Bu hatayı Spark fiyatlandırma planı projesinde alıyorsanız erişimi yeniden kazanmak için Blaze fiyatlandırma planına yükseltmeniz gerekir. Ayrıntılar için SSS sayfamızı inceleyin. |
ERROR_NOT_AUTHENTICATED |
Kullanıcının kimliği doğrulanmadı. Lütfen kimlik doğrulama işlemini yapıp tekrar deneyin. |
ERROR_NOT_AUTHORIZED |
Kullanıcının istenen işlemi gerçekleştirme yetkisi yok. Doğru olduklarından emin olmak için kurallarınızı kontrol edin. |
ERROR_RETRY_LIMIT_EXCEEDED |
Bir işlem (yükleme, indirme, silme vb.) için 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ükleme yapmayı deneyin. |
ERROR_CANCELED |
Kullanıcı, işlemi iptal etti. |
Ayrıca, getReferenceFromUrl() yöntemini 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.