Czasami coś idzie nie tak i występuje błąd.
W razie wątpliwości sprawdź zwrócony błąd i treść komunikatu o błędzie.
Poniższy kod przedstawia implementację niestandardowej obsługi błędów, która sprawdza kod błędu i komunikat o błędzie zwrócony przez Cloud Storage. Takie procedury obsługi błędów można dodawać do różnych obiektów używanych w interfejsie API Cloud Storage (np. UploadTask i FileDownloadTask).
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 } }
Jeśli po sprawdzeniu komunikatu o błędzie masz Cloud Storage Security Rules, które umożliwiają wykonanie działania, ale nadal nie możesz rozwiązać problemu, odwiedź naszą stronę pomocy i poinformuj nas, jak możemy Ci pomóc.
Obsługa komunikatów o błędach
Błędy mogą wystąpić z różnych powodów, np. plik może nie istnieć, użytkownik może nie mieć uprawnień dostępu do wybranego pliku lub może anulować przesyłanie pliku.
Aby prawidłowo zdiagnozować problem i rozwiązać błąd, zapoznaj się z pełną listą wszystkich błędów, które może zgłosić nasz klient, oraz z informacjami o tym, jak mogą one wystąpić. Kody błędów w tej tabeli są zdefiniowane w StorageException jako stałe całkowite.
| Kod | Przyczyna | 
|---|---|
| ERROR_UNKNOWN | Wystąpił nieznany błąd. | 
| ERROR_OBJECT_NOT_FOUND | W określonym odwołaniu nie ma obiektu. | 
| ERROR_BUCKET_NOT_FOUND | Nie skonfigurowano zasobnika dla Cloud Storage | 
| ERROR_PROJECT_NOT_FOUND | Nie skonfigurowano projektu dla Cloud Storage | 
| ERROR_QUOTA_EXCEEDED | Limit w przypadku zasobnika Cloud Storage został przekroczony. Jeśli korzystasz z abonamentu Spark, rozważ przejście na abonament Blaze z płatnością za wykorzystanie. Jeśli korzystasz już z abonamentu Blaze, skontaktuj się z zespołem pomocy Firebase. Ważne: od | 
| ERROR_NOT_AUTHENTICATED | Użytkownik nie jest uwierzytelniony. Uwierzytelnij się i spróbuj ponownie. | 
| ERROR_NOT_AUTHORIZED | Użytkownik nie ma uprawnień do wykonania żądanej czynności. Sprawdź, czy reguły są prawidłowe. | 
| ERROR_RETRY_LIMIT_EXCEEDED | Przekroczono maksymalny limit czasu operacji (przesyłania, pobierania, usuwania itp.). Spróbuj ponownie. | 
| ERROR_INVALID_CHECKSUM | Plik na urządzeniu klienta nie jest zgodny z sumą kontrolną pliku otrzymanego przez serwer. Spróbuj przesłać go jeszcze raz. | 
| ERROR_CANCELED | Operacja anulowana przez użytkownika. | 
Dodatkowo próba wywołania funkcji getReferenceFromUrl() z nieprawidłowym adresem URL spowoduje zgłoszenie wyjątku IllegalArgumentException. Argument metody podanej powyżej musi mieć format gs://bucket/object lub https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>.