في بعض الأحيان، لا تسير الأمور كما هو مخطط لها ويحدث خطأ.
عند الشك، تحقَّق من الخطأ الذي تم عرضه واطّلِع على رسالة الخطأ.
يعرض الرمز التالي عملية تنفيذ معالج أخطاء مخصّص يفحص
رمز الخطأ ورسالة الخطأ اللذَين يعرضهما 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>