Menangani Error di Android

Terkadang beberapa hal tidak berjalan sesuai rencana dan terjadi error.

Jika merasa ragu, periksa error yang ditampilkan, dan lihat apa isi pesannya. Kode berikut menunjukkan implementasi penangan error kustom yang memeriksa kode error dan pesan error yang ditampilkan oleh Firebase Storage. Penangan error tersebut dapat ditambahkan ke beragam objek yang digunakan dalam Storage API (misalnya, UploadTask dan FileDownloadTask).

Java
Android

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
    }
}

Kotlin
Android

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
    }
}

Jika Anda telah memeriksa pesan error dan memiliki Aturan Keamanan Storage yang mengizinkan tindakan Anda, tetapi masih kesulitan dalam memperbaiki error tersebut, kunjungi halaman Dukungan, dan beri tahu masalahnya agar kami dapat membantu.

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 error dalam tabel ini ditentukan dalam kelas StorageException sebagai konstanta bilangan bulat.

Kode Alasan
ERROR_UNKNOWN Terjadi error yang tidak diketahui.
ERROR_OBJECT_NOT_FOUND Tidak ada objek pada referensi yang diinginkan.
ERROR_BUCKET_NOT_FOUND Tidak ada bucket yang dikonfigurasi untuk Cloud Storage.
ERROR_PROJECT_NOT_FOUND Tidak ada project yang dikonfigurasi untuk Cloud Storage.
ERROR_QUOTA_EXCEEDED Kuota pada bucket Cloud Storage telah terlampaui. Jika Anda adalah pengguna paket gratis, upgrade ke paket berbayar. Jika Anda menggunakan paket berbayar, hubungi dukungan Firebase.
ERROR_NOT_AUTHENTICATED Pengguna tidak terautentikasi. Autentikasikan pengguna, lalu coba lagi.
ERROR_NOT_AUTHORIZED Pengguna tidak berwenang untuk melakukan tindakan yang diinginkan. Periksa aturan Anda untuk memastikan bahwa aturan tersebut sudah benar.
ERROR_RETRY_LIMIT_EXCEEDED Anda telah melebihi batas waktu maksimum suatu operasi (upload, download, hapus, dll). Coba lagi.
ERROR_INVALID_CHECKSUM File pada klien tidak cocok dengan checksum file yang diterima oleh server. Coba upload lagi.
ERROR_CANCELED Pengguna membatalkan operasi.

Selain itu, jika getReferenceFromUrl() dipanggil dengan URL yang invalid, IllegalArgumentException akan ditampilkan. Argumen terhadap metode di atas harus berupa gs://bucket/object atau https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.