الدرس 3 من 8
أين تضع try
- 13 دقيقة
- 6 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
نطاق ضيّق ولا خطأ يضيع
الشرح
هناك خطآن شائعان في try/catch، الأول أن تضع الدالة كلّها داخله فلا تعرف أيّ سطر فشل، والثاني أن تترك catch فارغًا فيُخفي الخطأ ويترك الصفحة نصف عاملة دون أي رسالة.
والقاعدة: لا تضع داخل try إلا السطر الذي قد يفشل، واجعل catch يفعل شيئًا حقيقيًّا، كأن يُرجع قيمة بديلة، أو يعرض رسالة للمستخدم، أو يرمي الخطأ من جديد بعد أن يضيف إليه شرحًا لما كان يحدث.
ولا تضع فيه ما لا يرمي خطأً، لأن الكود الذي لا يفشل إذا وُضع داخل try يضلّل من يقرأ الكود بعدك.
المطلوب
اكتب الدالة safeParse(text, fallback) لتُرجع الكائن عند النجاح والقيمة البديلة عند الفشل، دون أن ترمي خطأً أبدًا.
الفحوص
6 فحوص- الدالة معرَّفة
- تحوّل نصّ الكائن الصحيح إلى كائن
- تحوّل نصّ المصفوفة أيضًا
- تُرجع البديل للنصّ غير الصالح ولا ترمي خطأً
- النصّ الفارغ يعطي البديل أيضًا
- القائمة ظهرت بأربعة أسطر