จัดการข้อผิดพลาดสำหรับ Cloud Storage บน Android

บางครั้งการดำเนินการอาจไม่เป็นไปตามแผนที่วางไว้และเกิดข้อผิดพลาดขึ้น

หากมีข้อสงสัย ให้ตรวจสอบข้อผิดพลาดที่แสดงและดูว่าข้อความแสดงข้อผิดพลาดบอกอะไร โค้ดต่อไปนี้แสดงการใช้งานตัวแฮนเดิลข้อผิดพลาดที่กําหนดเองซึ่งตรวจสอบรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ Cloud Storage แสดง คุณสามารถเพิ่มตัวแฮนเดิลข้อผิดพลาดดังกล่าวลงในออบเจ็กต์ต่างๆ ที่ใช้ใน Cloud Storage API (เช่น UploadTask และ FileDownloadTask)

Kotlin+KTX

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

หากคุณตรวจสอบข้อความแสดงข้อผิดพลาดแล้วและมี Cloud Storage Security Rules ที่อนุญาตให้ดำเนินการ แต่ยังคงแก้ไขปัญหาข้อผิดพลาดไม่ได้ โปรดไปที่หน้าการสนับสนุนและแจ้งให้เราทราบว่าเราจะช่วยคุณได้อย่างไร

จัดการข้อความแสดงข้อผิดพลาด

ข้อผิดพลาดอาจเกิดขึ้นได้จากหลายสาเหตุ เช่น ไฟล์ไม่อยู่ ผู้ใช้ไม่มีสิทธิ์เข้าถึงไฟล์ที่ต้องการ หรือผู้ใช้ยกเลิกการอัปโหลดไฟล์

ต่อไปนี้เป็นรายการข้อผิดพลาดทั้งหมดที่ลูกค้าจะแสดงและสาเหตุที่ทำให้เกิดข้อผิดพลาด เพื่อให้คุณวินิจฉัยปัญหาและจัดการข้อผิดพลาดได้อย่างถูกต้อง รหัสข้อผิดพลาดในตารางนี้ได้รับการกำหนดไว้ในคลาส StorageException เป็นค่าคงที่แบบจำนวนเต็ม

รหัส เหตุผล
ERROR_UNKNOWN เกิดข้อผิดพลาดที่ไม่รู้จัก
ERROR_OBJECT_NOT_FOUND ไม่มีออบเจ็กต์อยู่ที่การอ้างอิงที่ระบุ
ERROR_BUCKET_NOT_FOUND ไม่มีการกำหนดค่าที่เก็บข้อมูลสำหรับ Cloud Storage
ERROR_PROJECT_NOT_FOUND ไม่มีการกำหนดค่าโปรเจ็กต์สำหรับ Cloud Storage
ERROR_QUOTA_EXCEEDED คุณใช้งานเกินโควต้าในที่เก็บข้อมูล Cloud Storage แล้ว หากคุณใช้แพ็กเกจราคา Spark ให้ลองอัปเกรดเป็นแพ็กเกจราคา Blaze แบบจ่ายตามการใช้งาน หากคุณใช้แพ็กเกจราคา Blaze อยู่แล้ว โปรดติดต่อทีมสนับสนุนของ Firebase

สำคัญ: ตั้งแต่วันที่ 1 ตุลาคม 2025 แพ็กเกจราคา Blaze จะจำเป็นต้องใช้ Cloud Storage แม้กระทั่งที่เก็บข้อมูลเริ่มต้น
ERROR_NOT_AUTHENTICATED ผู้ใช้ไม่ได้รับการตรวจสอบสิทธิ์ โปรดตรวจสอบสิทธิ์และลองอีกครั้ง
ERROR_NOT_AUTHORIZED ผู้ใช้ไม่ได้รับอนุญาตให้ดำเนินการตามคำขอ โปรดตรวจสอบกฎเพื่อให้แน่ใจว่าถูกต้อง
ERROR_RETRY_LIMIT_EXCEEDED การดำเนินการ (การอัปโหลด การดาวน์โหลด การลบ ฯลฯ) ใช้เวลาเกินขีดจำกัดสูงสุด โปรดลองอีกครั้ง
ERROR_INVALID_CHECKSUM ไฟล์ในไคลเอ็นต์ไม่ตรงกับการตรวจสอบผลรวมของไฟล์ที่เซิร์ฟเวอร์ได้รับ โปรดลองอัปโหลดอีกครั้ง
ERROR_CANCELED ผู้ใช้ยกเลิกการดำเนินการ

นอกจากนี้ การพยายามเรียกใช้ getReferenceFromUrl() ด้วย URL ที่ไม่ถูกต้องจะส่งผลให้ระบบแสดง IllegalArgumentException อาร์กิวเมนต์ของเมธอดข้างต้นต้องอยู่ในรูปแบบ gs://bucket/object หรือ https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>