Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
A volte le cose non vanno come previsto e si verifica un errore.
In caso di dubbi, controlla l'errore restituito e il relativo messaggio.
Il seguente codice mostra un'implementazione del gestore di errori personalizzato che esamina
il codice di errore e il messaggio di errore restituiti da Cloud Storage. Questi gestori
di errori possono essere aggiunti a vari oggetti utilizzati nell'API Cloud Storage (ad
esempio, UploadTask e FileDownloadTask).
Kotlin
internalinnerclassMyFailureListener:OnFailureListener{overridefunonFailure(exception:Exception){valerrorCode=(exceptionasStorageException).errorCodevalerrorMessage=exception.message// test the errorCode and errorMessage, and handle accordingly}}
classMyFailureListenerimplementsOnFailureListener{@OverridepublicvoidonFailure(@NonNullExceptionexception){interrorCode=((StorageException)exception).getErrorCode();StringerrorMessage=exception.getMessage();// test the errorCode and errorMessage, and handle accordingly}}
Se hai controllato il messaggio di errore e disponi di Cloud Storage Security Rules che ti consentono di eseguire l'azione, ma non riesci ancora a risolvere l'errore, visita la nostra pagina di assistenza e comunicaci come possiamo aiutarti.
Gestire i messaggi di errore
Esistono diversi motivi per cui potrebbero verificarsi errori, tra cui l'assenza del file,
l'utente non dispone dell'autorizzazione per accedere al file desiderato o
l'utente ha annullato il caricamento del file.
Per diagnosticare correttamente il problema e gestire l'errore, ecco un elenco completo di tutti
gli errori che il nostro client segnalerà e come possono verificarsi. I codici di errore in questa
tabella sono definiti nella classe StorageException come costanti intere.
Codice
Motivo
ERROR_UNKNOWN
Si è verificato un errore sconosciuto.
ERROR_OBJECT_NOT_FOUND
Non esiste alcun oggetto nel riferimento specificato.
ERROR_BUCKET_NOT_FOUND
Nessun bucket configurato per Cloud Storage
ERROR_PROJECT_NOT_FOUND
Nessun progetto è configurato per Cloud Storage
ERROR_QUOTA_EXCEEDED
La quota del bucket Cloud Storage è stata superata. Se hai scelto il piano tariffario Spark, valuta l'upgrade al piano tariffario Blaze con pagamento a consumo. Se hai già scelto il piano tariffario Blaze, contatta l'assistenza Firebase.
L'utente non è autenticato. Esegui l'autenticazione e riprova.
ERROR_NOT_AUTHORIZED
L'utente non è autorizzato a eseguire l'azione richiesta. Controlla le regole per assicurarti che siano corrette.
ERROR_RETRY_LIMIT_EXCEEDED
È stato superato il limite di tempo massimo per un'operazione (caricamento, download, eliminazione e così via). Riprova.
ERROR_INVALID_CHECKSUM
Il file sul client non corrisponde al checksum del file ricevuto dal server. Prova a caricarlo di nuovo.
ERROR_CANCELED
L'utente ha annullato l'operazione.
Inoltre, il tentativo di chiamare getReferenceFromUrl() con un URL non valido
comporterà la generazione di un IllegalArgumentException. L'argomento del metodo precedente deve essere nel formato gs://bucket/object o https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-06 UTC."],[],[],null,["\u003cbr /\u003e\n\nSometimes things don't go as planned and an error occurs.\n\nWhen in doubt, check the error returned and see what the error message says.\nThe following code shows a custom error handler implementation that inspects\nthe error code and error message returned by Cloud Storage. Such error\nhandlers can be added to various objects used in the Cloud Storage API (for\nexample, `UploadTask` and `FileDownloadTask`). \n\nKotlin \n\n```kotlin\ninternal inner class MyFailureListener : OnFailureListener {\n override fun onFailure(exception: Exception) {\n val errorCode = (exception as StorageException).errorCode\n val errorMessage = exception.message\n // test the errorCode and errorMessage, and handle accordingly\n }\n}https://github.com/firebase/snippets-android/blob/b694d4dbd411d31be39655f47691c3e9f3529b03/storage/app/src/main/java/com/google/firebase/referencecode/storage/kotlin/StorageActivity.kt#L492-L498\n```\n\nJava \n\n```java\nclass MyFailureListener implements OnFailureListener {\n @Override\n public void onFailure(@NonNull Exception exception) {\n int errorCode = ((StorageException) exception).getErrorCode();\n String errorMessage = exception.getMessage();\n // test the errorCode and errorMessage, and handle accordingly\n }\n}https://github.com/firebase/snippets-android/blob/b694d4dbd411d31be39655f47691c3e9f3529b03/storage/app/src/main/java/com/google/firebase/referencecode/storage/StorageActivity.java#L618-L625\n```\n\nIf you've checked the error message and have Cloud Storage Security Rules that allow your\naction, but are still struggling to fix the error, visit our\n[Support page](/support) and let us know how we can help.\n\nHandle Error Messages\n\nThere are a number of reasons why errors may occur, including the file\nnot existing, the user not having permission to access the desired file, or the\nuser cancelling the file upload.\n\nTo properly diagnose the issue and handle the error, here is a full list of all\nthe errors our client will raise, and how they can occur. Error codes in this\ntable are defined in the `StorageException` class as integer constants.\n\n| Code | Reason |\n|------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `ERROR_UNKNOWN` | An unknown error occurred. |\n| `ERROR_OBJECT_NOT_FOUND` | No object exists at the specified reference. |\n| `ERROR_BUCKET_NOT_FOUND` | No bucket is configured for Cloud Storage |\n| `ERROR_PROJECT_NOT_FOUND` | No project is configured for Cloud Storage |\n| `ERROR_QUOTA_EXCEEDED` | Quota on your Cloud Storage bucket has been exceeded. If you're on the Spark pricing plan, consider upgrading to the [pay-as-you-go Blaze pricing plan](/pricing). If you're already on the Blaze pricing plan, reach out to Firebase Support. **Important** : Starting October 1, 2025, the [Blaze pricing plan will be *required* to use Cloud Storage](/docs/storage/faqs-storage-changes-announced-sept-2024), even default buckets. |\n| `ERROR_NOT_AUTHENTICATED` | User is unauthenticated, please authenticate and try again. |\n| `ERROR_NOT_AUTHORIZED` | User is not authorized to perform the requested action, check your rules to ensure they are correct. |\n| `ERROR_RETRY_LIMIT_EXCEEDED` | The maximum time limit on an operation (upload, download, delete, etc.) has been excceded. Try again. |\n| `ERROR_INVALID_CHECKSUM` | File on the client does not match the checksum of the file received by the server. Try uploading again. |\n| `ERROR_CANCELED` | User canceled the operation. |\n\nAdditionally, attempting to call `getReferenceFromUrl()` with an invalid URL\nwill result in an `IllegalArgumentException` from being thrown. The argument to\nthe above method must be of the form `gs://bucket/object` or\n`https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=\u003cTOKEN\u003e`"]]