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 Fehlerhandler-Implementierung, die
den Fehlercode und die Fehlermeldung untersucht, die von Cloud Storage zurückgegeben werden. Solche Fehler
handler 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. Die 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 |
Unter der angegebenen Referenz ist kein Objekt vorhanden. |
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 Cloud Storage Bucket wurde überschritten. Wenn Sie den Spark-Tarif verwenden, sollten Sie ein Upgrade auf den Blaze-Tarif (Pay as you go) in Betracht ziehen. Wenn Sie bereits den Blaze-Tarif verwenden, wenden Sie sich an den Firebase-Support. Wichtig: Ab dem |
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 Datei überein, die vom Server empfangen wurde. Versuchen Sie, die Inhalte noch einmal hochzuladen. |
ERROR_CANCELED |
Vorgang wurde vom Nutzer 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.