منشئ التعليمات البرمجية لمعالجة الأخطاء والتخفيضات الاحتياطية

الأغلى ليس الخطأ البرمجي (bug)، بل نص الخطأ الذي يُضلّك عن اتجاه التصحيح الصحيح. أبلغ نظامنا الخلفي لمدة يومين بـ «لا يمكن قراءة بيانات الخادم»، وقمنا بالتحقق من الخدمة الخلفية بالكامل — وكل السجلات تظهر رمز الحالة 200. أما الجاني الحقيقي فهو البرنامج النصي القديم الذي يعمل في المتصفح، والذي يتعطل عند تصيير البيانات الجديدة، بينما catch تُصنَّف جميع الاستثناءات على أنها «لا يمكن قراءة بيانات الخادم». تقوم هذه الأداة بعمليتين: أولًا، الصق كتل catch الموجودة لديك لتتحقق مما إذا كانت تُبلغ كذبًا عن الأعطال؛ ثانيًا، تولِّد نسخة جديدة من الكود تُميِّز بدقة بينفشل الشبكة / تعطل العرض / انتهاء صلاحية المفتاح / انتهاء المهلةالكود.

مجاني · لا حاجة لتسجيل الدخول توليد محلي · المحتوى لا يُرفع الحادث المقابل · الإبلاغ الكاذب عن الخطأ يؤدي إلى توجيه جهود التصحيح في الاتجاه الخاطئ لمدة يومين

1افحص أولاً عبارات catch الموجودة لديك

يتم تنفيذ فحص التعبيرات النمطية في متصفحك فقط، دون رفع أي بيانات أو تنفيذها على الخادم.

2أعد إنشاء نسخة أخرى لا تُبلغ عن الأخطاء بشكل كاذب

النتيجةنتيجة فحص الكود

المخرجاتكود استخراج البيانات الجاهز للنسخ المباشر

0 صف
—

المقارنةأربع حالات فشل، ويجب الإبلاغ عنها بأربع رسائل مختلفة

الواقع الفعليما يجب الإبلاغ عنهتكلفة الإبلاغ عن الخطأ
فشل الشبكة / الاتصالاتصال الشبكة غير مستقر، وقد أُعيد المحاولة N مرة؛ سيتم عرض ذاكرة التخزين المؤقت المحلية أولاً.إبلاغ الخطأ على أنه عطل في الخادم → التحقق من خدمة الخادم دون جدوى
وصلت البيانات لكن العرض تعطّلنسخة النص البرمجي منتهية الصلاحية؛ يُرجى الضغط على Ctrl+F5 لإعادة التحميل القسري.يُبلَغ كعطل في الخادم → انحرفت التوجّهات لمدة يومين
401 / 403انتهت صلاحية المفتاح، يُرجى تحديث الصفحة وإعادة تسجيل الدخولإذا طلب من المستخدم النقر باستمرار على "إعادة المحاولة"، فلن تتحسن الحالة أبدًا
انتهاء المهلة (AbortError)انتهاء مهلة الواجهة، يُرجى النقر على تحديث بعد قليل ثم إعادة المحاولةخلطها مع عبارة «تعطل الخادم»
تنسيق البيانات فارغ / حقول ناقصةوصلت البيانات ولكن الحقل X ناقصالعرض الصامت كقيمة 0 أخطر من إظهار خطأ
لقد وقعنا في هذه الفخّة من قبل

1 · استخدام جملة واحدة من `catch` للإبلاغ عن جميع الأخطاء.تُصنَّف حالات تعطل التصيير وفشل الشبكة وانتهاء صلاحية المفتاح والمهلة الزمنية المنتهية جميعها على أنها «لا يمكن قراءة بيانات الخادم»، وقد أمضينا يومين في البحث عن مشاكل غير موجودة على الخادم.

2 · التعديل هو التوجيه إلى مسارات مختلفة، وليس إضافة سجلات التتبع.try يحتوي فقط على استرجاع البيانات، بينما يتم تغليف التصيير في طبقة منفصلة try، وافصل الجملتين في الرسائل — يمكن تحديد اتجاه التصحيح في جملة واحدة فقط.

٣ · تكون البيانات الاحتياطية أكثر أهمية من الإبلاغ عن الخطأ.عند الفشل الكامل، يتم استخدام آخر بيانات جيدة مخزَّنة في localStorage لتنفيذ التصيير، مع وضع علامة عليها على أنها «البيانات المخبأة · منذ N دقيقة»، بحيث يرى المستخدم دائمًا محتوى ما، بدلًا من أن يواجه جدار أخطاء.

4 · لا تقوم بإعادة المحاولة عند رموز الاستجابة 401/403.إعادة المحاولة ثلاث مرات عند خطأ المفتاح لا تفعل سوى جعل المستخدم ينتظر لبضع ثوانٍ إضافية؛ أخبره مباشرةً بإعادة تحميل الصفحة وتسجيل الدخول من جديد