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