Czasami coś idzie nie tak, jak powinno, i występuje błąd.
W razie wątpliwości sprawdź zwrócony błąd i spójrz na komunikat o błędzie.
Poniższy kod pokazuje implementację niestandardowego modułu obsługi błędów, który sprawdza kod i komunikat o błędzie zwracane przez funkcję Cloud Storage. Takie metody 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+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 } }
Jeśli po sprawdzeniu komunikatu o błędzie i usprawnieniu działania Cloud Storage Security Rules masz problemy z naprawą tego błędu, odwiedź naszą stronę pomocy i daj nam znać, jak możemy Ci pomóc.
Obsługa komunikatów o błędach
Błędy mogą wystąpić z różnych powodów, m.in. gdy plik nie istnieje, użytkownik nie ma uprawnień do dostępu do wybranego pliku lub użytkownik 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 sposobami ich wystąpienia. Kody błędów w tej tabeli są zdefiniowane w klasie StorageException
jako stałe całkowite.
Kod | Przyczyna |
---|---|
ERROR_UNKNOWN |
Wystąpił nieznany błąd. |
ERROR_OBJECT_NOT_FOUND |
W podanym odwołaniem nie ma żadnego obiektu. |
ERROR_BUCKET_NOT_FOUND |
Brak zasobnika skonfigurowanego dla Cloud Storage |
ERROR_PROJECT_NOT_FOUND |
Nie skonfigurowano żadnego projektu dla Cloud Storage |
ERROR_QUOTA_EXCEEDED |
Limit w przypadku puli Cloud Storage został przekroczony. Jeśli korzystasz z abonamentu Spark, rozważ przejście na abonament Blaze z płatnością za korzystanie. Jeśli masz już abonament 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ź swoje reguły, aby upewnić się, że są prawidłowe. |
ERROR_RETRY_LIMIT_EXCEEDED |
Przekroczono maksymalny limit czasu operacji (przesyłanie, pobieranie, usuwanie itp.). Spróbuj ponownie. |
ERROR_INVALID_CHECKSUM |
Plik na kliencie nie jest zgodny z sumą kontrolną pliku otrzymanego przez serwer. Spróbuj przesłać jeszcze raz. |
ERROR_CANCELED |
Operacja anulowana przez użytkownika. |
Próba wywołania funkcji getReferenceFromUrl()
z nieprawidłowym adresem URL spowoduje wyjątek IllegalArgumentException
. Argument tej metody musi mieć postać gs://bucket/object
lub https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
.