Manchmal läuft nicht alles nach Plan und es tritt ein Fehler auf.
Im Zweifelsfall sollten Sie den zurückgegebenen Fehler und die Fehlermeldung prüfen.
Der folgende Code zeigt eine benutzerdefinierte Fehlerbehandlungs-Implementierung, die
den von Cloud Storage zurückgegebenen Fehlercode und die Fehlermeldung untersucht. Solche Fehler
behandlungen können verschiedenen Objekten hinzugefügt werden, die in der Cloud Storage API verwendet werden (z.
B. UploadTask und 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 } }
Wenn Sie die Fehlermeldung geprüft haben und Cloud Storage Security Rules Ihre Aktion zulassen, Sie den Fehler aber trotzdem nicht beheben können, rufen Sie unsere Supportseite auf und teilen Sie uns mit, wie wir Ihnen helfen können.
Fehlermeldungen verarbeiten
Es gibt eine Reihe von Gründen, warum Fehler auftreten können. Dazu gehören beispielsweise, dass die Datei nicht vorhanden ist, der Nutzer keine Berechtigung für den Zugriff auf die gewünschte Datei hat oder der Nutzer den Upload der Datei abbricht.
Um das Problem richtig zu diagnostizieren und den Fehler zu beheben, finden Sie hier eine vollständige Liste aller Fehler, die unser Client auslösen kann, und wie sie auftreten können. Fehlercodes in dieser Tabelle sind in der Klasse StorageException als ganzzahlige Konstanten definiert.
| Code | Grund |
|---|---|
ERROR_UNKNOWN |
Ein unbekannter Fehler ist aufgetreten. |
ERROR_OBJECT_NOT_FOUND |
Am angegebenen Ort wurde kein Objekt gefunden. |
ERROR_BUCKET_NOT_FOUND |
Für Cloud Storage ist kein Bucket konfiguriert. |
ERROR_PROJECT_NOT_FOUND |
Für Cloud Storage ist kein Projekt konfiguriert. |
ERROR_QUOTA_EXCEEDED |
Das Kontingent für Ihren Bucket wurde überschritten. Cloud Storage for Firebase erfordert das Blaze-Preismodell (Pay as you go). Wenn Sie diesen Fehler in einem Projekt mit dem Spark-Preismodell erhalten, müssen Sie auf das Blaze-Preismodell upgraden, um wieder Zugriff zu erhalten. Weitere Informationen finden Sie in unseren FAQs. |
ERROR_NOT_AUTHENTICATED |
Der Nutzer ist nicht authentifiziert. Authentifizieren Sie sich und versuchen Sie es noch einmal. |
ERROR_NOT_AUTHORIZED |
Der Nutzer ist nicht autorisiert, die angeforderte Aktion auszuführen. Prüfen Sie Ihre Regeln, um sicherzustellen, dass sie korrekt sind. |
ERROR_RETRY_LIMIT_EXCEEDED |
Das maximale Zeitlimit für einen Vorgang (Upload, Download, Löschen usw.) wurde überschritten. Bitte versuchen Sie es noch einmal. |
ERROR_INVALID_CHECKSUM |
Die Datei auf dem Client stimmt nicht mit der Prüfsumme der vom Server empfangenen Datei überein. Versuchen Sie noch einmal, die Datei hochzuladen. |
ERROR_CANCELED |
Der Nutzer hat den Vorgang abgebrochen. |
Wenn Sie versuchen, getReferenceFromUrl() mit einer ungültigen URL aufzurufen, wird außerdem eine IllegalArgumentException ausgelöst. Das Argument für
die oben genannte Methode muss das Format gs://bucket/object oder
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> haben.