شرح المفهوم
يركز هذا الدرس على مهارة شائعة جدًا للمبتدئين: ملاحظة سبب فشل الكود وإصلاحه بهدوء. ستعمل مع مثال صغير يرمي خطأً، ثم تتعلم كيفية قراءة الرسالة، وعزل السبب، والتعافي بأمان. الهدف ليس فقط اكتشاف الخطأ، بل فهم نوع المدخلات التي تسببت فيه وكيفية الاستجابة برسالة مفيدة. تصبح هذه العادة مهمة في كود المتصفح، واستدعاءات API، وأي ميزة تعتمد على بيانات خارجية.
أين تضع الكود
- ابدأ بالمتغيرات والمدخلات. استخدم صيغة المتصفح أو Node.js بوضوح.
- أضف منطق المعالجة في القسم الأوسط.
- انتهِ بالمخرجات والتحقق السريع.
مرجع الأوامر
- شغّل المثال ببيانات صالحة أولاً لتعرف النتيجة المتوقعة.
- عطّل JSON عمدًا واقرأ رسالة الخطأ بعناية.
- حسّن كتلة `catch` لتكون رسالة الفشل أوضح لمطور آخر.
- اشرح أين يظهر هذا النوع من تصحيح الأخطاء في المشاريع الحقيقية التي تتعامل مع البيانات الخارجية.
دليل خطوة بخطوة
- شغّل الكود المبدئي مرة واحدة وتأكد من أن حالة النجاح تعمل كما هو متوقع.
- أدخل خطأً صغيرًا في نص JSON ولاحظ المخرجات الجديدة.
- اقرأ رسالة الخطأ وحدد أي جزء من المدخلات تسبب في الفشل.
- حدّث كتلة `catch` لتصبح الرسالة أكثر فائدة وتحديدًا.
- اختبر كلتا النسختين الصالحة والمعطلة قبل الانتهاء.
تمارين تطبيقية
- أنشئ مثال تصحيح أخطاء ثانيًا باستخدام نوع مختلف من مدخلات JSON غير الصالحة.
- أعد كتابة المثال بحيث تتعامل دالة مساعدة مع التحليل بدلاً من القيام بكل شيء بشكل مباشر.
- أضف فحصًا إضافيًا واحدًا بعد التحليل للتأكد من وجود الحقول المتوقعة.
تحديات برمجية
- صمم نسخة أكثر أمانًا تعيد كائنًا احتياطيًا عندما لا يمكن تحليل المدخلات.
- قارن بين منهجين لمعالجة الأخطاء وقرر أيهما سيكون أسهل في الصيانة في مشروع أكبر.
مهام تمرين صغيرة
- غيّر اسم متغير واحد ليعكس بشكل أفضل ما تحتويه البيانات.
- أضف حالة اختبار سريعة واحدة للمدخلات المعطلة.
- اكتب ملخصًا من سطر واحد لما يحميه هذا السكريبت.
خطأ شائع
Skipping input validation or mixing logic/output in one unstructured block.
تحدٍ مصغّر من الواقع
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.