0Pricing
JavaScript Academy · درس

حدود الأخطاء (مفاهيميًا) من دون أطر عمل

أنشئوا حدود أخطاء صغيرة في JavaScript العادي: try/catch حول الشيفرة الخطرة، ومساعدات تغليف، وtry/catch غير متزامن، وقيمًا احتياطية، وتسجيلًا محدودًا

حدود الأخطاء (مفاهيميًا) من دون أطر عمل درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.

الصورة العامة

الهدف: منع فشل واحد من تعطيل الشاشة بأكملها.

  • استخدم try/catch حول المواضع التي قد تفشل
  • أضف مساعدًا صغيرًا باسم runSafe
  • تعامل مع async باستخدام try/catch أيضًا
  • أعد قيمًا بديلة وسجّل رسالة قصيرة
حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 1

حدّ محلي: التحليل

غلّف الخطوة التي قد تفشل فقط، وهي JSON.parse. وأعد كائن بديل بسيطًا عند الفشل.

// Try/catch boundary: parse user JSON with a fallback
function safeParseUser(json) {
  try {
    const obj = JSON.parse(json);
    // minimal validation
    if (!obj || typeof obj.name !== "string") {
      return { name: "Guest" };
    }
    return { name: obj.name };
  } catch (err) {
    // fallback on parse error
    return { name: "Guest" };
  }
}

console.log("ok:", safeParseUser("{\"name\":\"Ayla\"}"));
console.log("bad:", safeParseUser("{oops}"));
حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 2

مساعد runSafe

أنشئ مساعدًا صغيرًا وأعد استخدامه. اجعل السجلات قصيرة، وتجنّب كشف الأسرار.

// A tiny boundary helper for sync functions
function runSafe(fn, fallback) {
  try {
    return fn();
  } catch (e) {
    // log minimal info for beginners
    console.log("error:", String(e));
    return fallback;
  }
}

// Use it
const resultOk = runSafe(function () {
  return 2 + 2;
}, 0);

const resultFail = runSafe(function () {
  // simulate crash
  throw new Error("boom");
}, 0);

console.log("ok:", resultOk, "fail:", resultFail);
حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 3

حدّ العمليات غير المتزامنة

في الأعمال غير المتزامنة، استخدم try/catch حول await وأعد سلسلة أو قيمة بديلة.

// Async boundary: try/catch inside an async function
async function fetchNameFake(id) {
  // simulate failure for odd ids
  if (id % 2 === 1) {
    throw new Error("not found");
  }
  return "Ayla";
}

async function loadName(id) {
  try {
    const name = await fetchNameFake(id);
    return name;
  } catch (e) {
    console.log("async error:", String(e));
    return "Guest";
  }
}

(async function () {
  console.log("even:", await loadName(2));
  console.log("odd :", await loadName(3));
})();
حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 4

اعزل موضع الخطر

لا تغلّف التطبيق بأكمله. اعزل الخطوة التي قد تفشل حتى لا يمنع فشلها كل شيء.

// Boundary only around the risky step, rest continues
function renderCard(userJson) {
  // boundary: parse
  const user = safeParseUser(userJson);
  // rest of rendering can continue with fallback
  return "Hello " + user.name;
}

console.log(renderCard("{\"name\":\"Lina\"}"));
console.log(renderCard("{broken}")); // still renders with fallback
حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 5

عادات التعامل عند الحدود

قائمة التحقّق:

  • ضع try/catch صغيرًا حول الاستدعاءات التي قد تفشل.
  • أعد قيمة بديلة صغيرة.
  • سجّل رسالة قصيرة من دون أسرار.
  • كرّر النمط نفسه مع الاستدعاءات غير المتزامنة.
حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 6

اختبار أساسيات حدود الأخطاء

تحقّق سريع: حدّ أخطاء باستخدام JavaScript العادي.

حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 7

مراجعة

مراجعة: أضف try/catch محليًا حول الشيفرة التي قد تفشل، واستخدم مساعدًا باسم runSafe، وتعامل مع async باستخدام try/catch، وقدّم قيمًا بديلة حتى تواصل الشاشة عملها.

حدود الأخطاء (مفاهيميًا) من دون أطر عمل — رسم توضيحي 8

الأسئلة الشائعة

هل درس «حدود الأخطاء (مفاهيميًا) من دون أطر عمل» مجاني؟

نعم — نص درس «حدود الأخطاء (مفاهيميًا) من دون أطر عمل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.

ماذا ستتعلم في «حدود الأخطاء (مفاهيميًا) من دون أطر عمل»؟

أنشئوا حدود أخطاء صغيرة في JavaScript العادي: try/catch حول الشيفرة الخطرة، ومساعدات تغليف، وtry/catch غير متزامن، وقيمًا احتياطية، وتسجيلًا محدودًا تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟

لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «حدود الأخطاء (مفاهيميًا) من دون أطر عمل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟

نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التحقق من المدخلات وأساسيات الهروب
  2. دمج الكائنات بأمان؛ التجميد والإحكام
  3. حدود الأخطاء (مفاهيميًا) من دون أطر عمل
← العودة إلى JavaScript Academy