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