الدرس 4 من 8
خطأ يحمل سياقه
- 12 دقيقة
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
«فشل» ليست رسالة
01
الشرح
«حدث خطأ» لا تفيد أحدًا: لا المستخدم يعرف ما يفعل، ولا أنت تعرف أين تبحث.
الخطأ المفيد يحمل ثلاثة: ما الذي كنّا نفعله، وبأي مُدخل، والسبب الأصلي. وفي الجافاسكربت الحديثة هناك cause لهذا بالضبط:
throw new Error('تعذّر تحميل المستخدم 42', { cause: original })
فتحتفظ بالخطأ الأصلي كاملًا وتضيف فوقه طبقة تشرح السياق.
02
المطلوب
اجعل loadUser(id) ترمي خطأً يذكر المعرّف ويحتفظ بالسبب الأصلي.
معايير التصحيح
5 معايير- الدالة تنجح مع المعرّف الصحيح
- ترمي عند الفشل
- الرسالة تذكر المعرّف
- السبب الأصلي محفوظ في cause
- الصفحة تعرض الرسالة والسبب