A volte le cose non vanno come previsto e si verifica un errore.
In caso di dubbio, controlla l'errore restituito e il messaggio di errore.
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
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 } }
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 possono verificarsi errori, tra cui il file non esistente, l'utente che non dispone dell'autorizzazione per accedere al file desiderato o l'utente che annulla 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 genererà 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à il piano tariffario Blaze, contatta l'assistenza Firebase. Importante: a partire | 
| ERROR_NOT_AUTHENTICATED | 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 caricare 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>.