تعلم البرمجة باستخدام JavaScript


الدرس: تعامل مع الأخطاء والاستثناءات في برنامجك


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

اكتشف ثلاثة أنواع من الخطأ



في JavaScript ، كما هو الحال في العديد من لغات البرمجة الأخرى ، هناك ثلاثة أنواع من الأخطاء بشكل عام.

JavaScript
كود مع خطأ

فهم الأخطاء النحوية


تحدث أخطاء بناء الجملة (أو أخطاء التحليل ) عندما تقوم بخطأ إملائي في التعليمات البرمجية الخاصة بك. يمكن أن يكون نسيان أو إضافة اقواس أو فاصلة، الخطأ الإملائي على كلمة ، على سبيل المثال. من السهل إصلاحها بشكل عام (على الرغم من أنه يمكنك قضاء الكثير من الوقت في البحث عن الأقواس المفقودة!) ، والعديد من محرري النصوص أو بيئات التطوير المدمجة يكتشفون تلقائيًا أخطاء في بناء الجملة.

بيئة تطوير متكاملة أو IDE ( I ntegrated D evelopment E nvironment) هو برنامج يوفر مجموعة من الأدوات للمطورين. عادة ما تكون لغة أو مجال محدد ، وبعضها مجاني (مثل Visual Studio Code )، في حين أن البعض الآخر ليس كذلك (مثل مجموعة JetBrains ) .

فيما يلي بعض الأمثلة على أخطاء في بناء الجملة - هل يمكنك العثور عليها؟


if (seatsRemaining) {

 

passengersBoarded+;

 

}

 

while (seatsRemaining > 0 {

 

passengersBoarded++;

 

}

 

if (seatsRemaining > 0) {

 

passengersBoarded++;

 

} else {

 

passengersStillToBoard = 0;
 
الحلول: 1 ) + مفقود ، 2) الأقواس غير مغلقة ، 3) الدعامة ليست مغلقة!

اكتشف الأخطاء المنطقية


الأخطاء المنطقية أكثر شراسة. تنشأ عندما ترتكب أخطاء في منطق برنامجك. هذه بعض الأمثلة :

  • إسناد قيمة خاطئة إلى متغير ؛
  • خليط من الشروط في التعليمات    if  ؛
  • ترتيب غير صحيح لكتابة الأسطر أو كتل التعليمات البرمجية.
مع هذا النوع من الأخطاء ، قد يتصرف برنامجك بشكل غير متوقع في أحسن الأحوال ، أو يتعطل في أسوأ الأحوال! يصعب العثور على الأخطاء المنطقية وتصحيحها لأن الكود ليس خاطئًا ؛ إنه لا يفعل ما تريده أن يفعله!

مثال على كود به خطأ منطقي:


// نتظاهر بأننا نبلغ من العمر 22 عامًا حتى نبلغ سن الرشد

const monAge = 22;

if(monAge < 18) {

console.log("انت ناضج");

}else{

console.log("أنت قاصر ");

}
 
يهدف الكود إلى عرض "أنت ناضج" عندما تبلغ من العمر 18 عامًا أو أكثر ، أو "أنت قاصر" إذا كان عمرك أقل من 18 عامًا. لكن هذا الكود به خطأ منطقي في حالة الشرط ويعرض " أنت قاصر " على الرغم من أن عمر المقارنة هو 22 عامًا. تكمن الصعوبة هنا في أنه لا يوجد شيء يخبرك أن هذا خطأ في المنطق. فقط تحليل وإعادة قراءة الكود الخاص بك سيكشف عن المشكلة.

إدارة أخطاء وقت التشغيل


أخطاء وقت التشغيل مختلفة بعض الشيء. تميل إلى الحدوث عندما يحدث شيء غير متوقع في تطبيقك. غالبًا ما يكون هذا شيئًا مرتبطًا بالموارد الخارجية (اتصالات الشبكة ، الأجهزة المادية ، إلخ) أو الإدخال البشري / الخطأ.

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

تتمثل إحدى طرق التعامل مع الأخطاء المحتملة في استخدام عبارة    if  /   else  للتحقق من صحة البيانات:


if (dataExists && dataIsValid) {

 

// استخدم البيانات هنا

 

} else {

 

// تعامل مع الخطأ هنا
 

}
 
يمكنك أيضًا استخدام try / catch للمحاولة (try) التعليمات البرمجية التي من المحتمل أن تُرجع خطأً ، وتلتقط (catch) أي أخطاء نشأت:

try {

 

// كود عرضة للخطأ هنا

 

} catch (error) {

 

// رد الفعل على الأخطاء هنا

 

}
 
عندما يكون لديك المزيد من الخبرة في تطوير JavaScript ، ستعرف مكان حدوث الأخطاء وكيفية الاستعداد لها والتعامل معها بشكل صحيح.

باختصار



في هذا الفصل ، تعرفت على الأنواع الثلاثة لأخطاء البرمجة:

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