A volte, durante la creazione di un'app, le cose non vanno come previsto e si verifica un errore.
In caso di dubbi, intercetta l'eccezione generata dalla funzione e leggi il messaggio di errore.
final storageRef = FirebaseStorage.instance.ref().child("files/uid");
try {
  final listResult = await storageRef.listAll();
} on FirebaseException catch (e) {
  // Caught an exception from Firebase.
  print("Failed with error '${e.code}': ${e.message}");
}
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 si sono verificati.
| Codice | Descrizione | 
|---|---|
| storage/unknown | Si è verificato un errore sconosciuto. | 
| storage/object-not-found | Non esiste alcun oggetto nel riferimento desiderato. | 
| storage/bucket-not-found | Nessun bucket è configurato per Cloud Storage | 
| storage/project-not-found | Nessun progetto è configurato per Cloud Storage | 
| storage/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 | 
| storage/unauthenticated | L'utente non è autenticato. Esegui l'autenticazione e riprova. | 
| storage/unauthorized | L'utente non è autorizzato a eseguire l'azione desiderata. Controlla le regole di sicurezza per assicurarti che siano corrette. | 
| storage/retry-limit-exceeded | È stato superato il limite di tempo massimo per un'operazione (caricamento, download, eliminazione e così via). Prova a caricare di nuovo. | 
| storage/invalid-checksum | Il file sul client non corrisponde al checksum del file ricevuto dal server. Prova a caricare di nuovo. | 
| storage/canceled | L'utente ha annullato l'operazione. | 
| storage/invalid-event-name | Il nome dell'evento fornito non è valido. Deve essere uno dei seguenti valori: [ running,progress,pause] | 
| storage/invalid-url | L'URL fornito a refFromURL()non è valido. Deve essere nel formatogs://bucket/objectohttps://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>. | 
| storage/invalid-argument | L'argomento passato a put()deve essere un arrayFile,BloboUInt8. L'argomento passato aputString()deve essere una stringa non elaborata,Base64oBase64URL. | 
| storage/no-default-bucket | Nessun bucket è stato impostato nella proprietà storageBucketdella configurazione. | 
| storage/cannot-slice-blob | Si verifica spesso quando il file locale è stato modificato (eliminato, salvato di nuovo e così via). Prova a caricare di nuovo il file dopo aver verificato che non sia stato modificato. | 
| storage/server-file-wrong-size | Il file sul client non corrisponde alle dimensioni del file ricevuto dal server. Prova a caricare di nuovo. |