Czasami coś idzie nie tak i występuje błąd.
W razie wątpliwości sprawdź zwrócony błąd i jego komunikat.
Poniższy kod pokazuje implementację niestandardowego modułu obsługi błędów, który sprawdza
kod i komunikat o błędzie zwrócony przez Cloud Storage. Takie moduły obsługi błędów można dodawać do różnych obiektów używanych w interfejsie Cloud Storage API (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 sprawdzisz komunikat o błędzie i masz Cloud Storage Security Rules, które zezwalają na Twoją czynność, ale nadal nie możesz rozwiązać problemu, 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ępować z różnych powodów, m.in. z powodu braku pliku, braku uprawnień użytkownika do dostępu do żądanego pliku lub anulowania przez użytkownika przesyłania pliku.
Aby prawidłowo zdiagnozować problem i obsłużyć błąd, zapoznaj się z pełną listą wszystkich błędów, które może zgłosić nasz klient, oraz z ich przyczynami. Kody błędów w tej tabeli są zdefiniowane w klasie StorageException jako stałe liczby całkowite.
| Kod | Przyczyna |
|---|---|
ERROR_UNKNOWN |
Wystąpił nieznany błąd. |
ERROR_OBJECT_NOT_FOUND |
Nie ma obiektu o podanym odwołaniu. |
ERROR_BUCKET_NOT_FOUND |
Nie skonfigurowano zasobnika dla Cloud Storage. |
ERROR_PROJECT_NOT_FOUND |
Nie skonfigurowano projektu dla Cloud Storage. |
ERROR_QUOTA_EXCEEDED |
Przekroczono limit zasobnika. Cloud Storage for Firebase wymaga abonamentu Blaze (płatność według wykorzystania). Jeśli ten błąd występuje w projekcie z abonamentem Spark, musisz przejść na abonament Blaze, aby odzyskać dostęp. Więcej informacji znajdziesz w najczęstszych pytaniach. |
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ź reguły, aby upewnić się, że 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 kliencie nie jest zgodny z sumą kontrolną pliku otrzymanego przez serwer. Spróbuj przesłać jeszcze raz. |
ERROR_CANCELED |
Operacja anulowana przez użytkownika. |
Dodatkowo próba wywołania getReferenceFromUrl() z nieprawidłowym adresem URL spowoduje zgłoszenie wyjątku IllegalArgumentException. Argument metody musi mieć postać gs://bucket/object lub
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>