Menangani error untuk Cloud Storage di Android

Terkadang, ketika Anda membuat aplikasi, ada hal-hal yang tidak berjalan sesuai rencana dan terjadi error.

Jika ragu, deteksi pengecualian yang ditampilkan oleh fungsi dan lihat isi pesan error.

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}");
}

Menangani Pesan Error

Ada beberapa alasan mengapa terjadi error, termasuk tidak adanya file, pengguna tidak memiliki izin untuk mengakses file yang diinginkan, atau pengguna membatalkan upload file.

Untuk mendiagnosis masalah dan menangani error dengan benar, berikut ini daftar lengkap semua error yang dialami klien kami, dan bagaimana error tersebut terjadi.

Kode Deskripsi
storage/unknown Terjadi error tak dikenal.
storage/object-not-found Tidak ada objek pada referensi yang diinginkan.
storage/bucket-not-found Tidak ada bucket yang dikonfigurasi untuk Cloud Storage.
storage/project-not-found Tidak ada project yang dikonfigurasi untuk Cloud Storage.
storage/quota-exceeded Kuota di bucket Cloud Storage telah terlampaui. Jika Anda adalah pengguna paket tanpa biaya, upgrade ke paket berbayar. Jika Anda menggunakan paket berbayar, hubungi tim dukungan Firebase.
storage/unauthenticated Pengguna tidak terautentikasi. Autentikasi pengguna, lalu coba lagi.
storage/unauthorized Pengguna tidak memiliki izin untuk melakukan tindakan yang diinginkan. Periksa aturan keamanan Anda untuk memastikan bahwa aturan tersebut sudah benar.
storage/retry-limit-exceeded Anda telah melebihi batas waktu maksimum suatu operasi (upload, download, hapus, dll.). Coba upload lagi.
storage/invalid-checksum File pada klien tidak cocok dengan checksum file yang diterima oleh server. Coba upload lagi.
storage/canceled Pengguna membatalkan operasi.
storage/invalid-event-name Nama peristiwa yang diberikan tidak valid. Harus berupa salah satu dari [running, progress, pause]
storage/invalid-url URL yang tidak valid diberikan untuk refFromURL(). Harus dalam format: gs://bucket/object atau https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
storage/invalid-argument Argumen yang diteruskan ke put() harus berupa Array File, Blob, atau UInt8. Argumen yang diteruskan ke putString() harus berupa string mentah, Base64, atau Base64URL.
storage/no-default-bucket Tidak ada bucket yang telah ditetapkan di properti storageBucket konfigurasi Anda.
storage/cannot-slice-blob Biasanya terjadi ketika file lokal berubah (dihapus, disimpan lagi, dll.). Coba upload lagi setelah memverifikasi bahwa file tersebut tidak berubah.
storage/server-file-wrong-size File pada klien tidak cocok dengan ukuran file yang diterima oleh server. Coba upload lagi.