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