A volte le cose non vanno come previsto e si verifica un errore.
In caso di dubbio, controlla l'errore restituito e leggi il messaggio di errore.
Il seguente codice mostra un'implementazione di un gestore degli errori personalizzato che controlla il codice di errore e il messaggio di errore restituiti da Cloud Storage. Questi gestori degli 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 consentono la tua azione, ma hai ancora difficoltà a correggere l'errore, visita la nostra pagina di assistenza e facci sapere come possiamo aiutarti.
Gestisci i messaggi di errore
Gli errori possono verificarsi per una serie di motivi, tra cui l'inesistenza del file, la mancanza di autorizzazione dell'utente ad accedere al file desiderato o l'annullamento del caricamento del file da parte dell'utente.
Per diagnosticare correttamente il problema e gestire l'errore, di seguito è riportato un elenco completo di tutti gli errori che il nostro client genererà e di 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 |
Nessun oggetto esiste 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 tuo bucket è stata superata. Cloud Storage for Firebase richiede il piano tariffario Blaze con pagamento a consumo. Se ricevi questo errore in un progetto con piano tariffario Spark, devi eseguire l'upgrade al piano tariffario Blaze per riottenere l'accesso. Per maggiori dettagli, consulta le nostre domande frequenti. |
ERROR_NOT_AUTHENTICATED |
L'utente non è autenticato. Autenticati 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 |
Il limite di tempo massimo per un'operazione (caricamento, download, eliminazione e così via) è stato superato. Riprova. |
ERROR_INVALID_CHECKSUM |
Il file sul client non corrisponde al checksum del file ricevuto dal server. Riprova a caricare il video. |
ERROR_CANCELED |
L'utente ha annullato l'operazione. |
Inoltre, il tentativo di chiamare getReferenceFromUrl() con un URL non valido
comporterà l'attivazione 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>