บางครั้งสิ่งต่างๆ ก็ไม่เป็นไปตามแผนและเกิดข้อผิดพลาดขึ้น
หากไม่แน่ใจ ให้ตรวจสอบข้อผิดพลาดที่ส่งคืนและดูว่าข้อความแสดงข้อผิดพลาดระบุว่าอย่างไร
โค้ดต่อไปนี้แสดงการติดตั้งใช้งานตัวแฮนเดิลข้อผิดพลาดที่กำหนดเองซึ่งตรวจสอบรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ Cloud Storage ส่งคืน คุณเพิ่มตัวแฮนเดิลข้อผิดพลาดดังกล่าวลงในออบเจ็กต์ต่างๆ ที่ใช้ใน Cloud Storage API ได้ (เช่น UploadTask และ 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 } }
หากคุณได้ตรวจสอบข้อความแสดงข้อผิดพลาดและมี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 for Firebase ต้องใช้แพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ หากคุณได้รับข้อผิดพลาดนี้ในโปรเจ็กต์ที่ใช้แพ็กเกจราคา Spark คุณต้องอัปเกรดเป็นแพ็กเกจราคา Blaze เพื่อกลับมาเข้าถึงได้อีกครั้ง ดูรายละเอียดได้ที่คำถามที่พบบ่อย |
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>