في بعض الأحيان لا تسير الأمور كما هو مخطط لها ويحدث خطأ ما.
عندما تكون في شك، تحقق من الخطأ الذي تم إرجاعه وشاهد ما تقوله رسالة الخطأ. يعرض التعليمة البرمجية التالية تنفيذًا مخصصًا لمعالج الأخطاء الذي يفحص رمز الخطأ ورسالة الخطأ التي يتم إرجاعها بواسطة 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 } }
إذا قمت بفحص رسالة الخطأ ولديك قواعد أمان التخزين السحابي التي تسمح لك باتخاذ الإجراء، ولكنك لا تزال تواجه صعوبة في إصلاح الخطأ، فتفضل بزيارة صفحة الدعم الخاصة بنا وأخبرنا كيف يمكننا المساعدة.
التعامل مع رسائل الخطأ
هناك عدد من الأسباب لحدوث الأخطاء، بما في ذلك الملف غير موجود، أو عدم حصول المستخدم على إذن للوصول إلى الملف المطلوب، أو قيام المستخدم بإلغاء تحميل الملف.
لتشخيص المشكلة بشكل صحيح ومعالجة الخطأ، إليك قائمة كاملة بجميع الأخطاء التي قد يثيرها عميلنا، وكيفية حدوثها. يتم تعريف رموز الخطأ في هذا الجدول في فئة StorageException
كثوابت عددية صحيحة.
شفرة | سبب |
---|---|
ERROR_UNKNOWN | حدث خطأ غير معروف. |
ERROR_OBJECT_NOT_FOUND | لا يوجد كائن في المرجع المطلوب. |
ERROR_BUCKET_NOT_FOUND | لم يتم تكوين أي حاوية للتخزين السحابي |
ERROR_PROJECT_NOT_FOUND | لم يتم تكوين أي مشروع للتخزين السحابي |
ERROR_QUOTA_EXCEEDED | لقد تم تجاوز الحصة المخصصة لحاوية التخزين السحابي الخاصة بك. إذا كنت في المستوى المجاني، قم بالترقية إلى الخطة المدفوعة. إذا كنت تستخدم خطة مدفوعة، فاتصل بدعم 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>