
- بواسطة x32x01 ||
بدل ما تضيع وقتك في نقاشات مالهاش لازمة
، تعالى نركّز على حاجة تنفعنا فعلًا - وهي إنك تفهم أنواع الأخطاء اللي بتواجهك كمبرمج، وازاي تتعامل معاها زي المحترفين 
الـ Syntax Errors بتحصل لما يكون في خطأ في كتابة الكود نفسه، يعني اللغة مش قادرة تفهم اللي كتبته.
مش دايمًا بيكون خطأ برمجي عميق، أحيانًا بيكون مجرد سهو بسيط منك وانت بتكتب.
ده النوع اللي بيظهرلك بسرعة أول ما تحاول تشغل الكود، وغالبًا بتكون رسالته واضحة جدًا في الـ console.
النوع ده بقى هو اللي بيكسر التطبيق وقت التشغيل، حتى لو الكود مكتوب شكله صح.
يعني الكود بيتكتب عادي، بس أول ما يتنفّذ بيحصل الانفجار
استخدم try و catch عشان تمسك الأخطاء دي وتمنع البرنامج من الكراش الكامل:
نصيحة: لو شغال بـ TypeScript، هتساعدك جدًا لأنها بتديك تنبيهات أثناء الكتابة عن مشاكل ممكن تتحول لاحقًا لـ Runtime Errors.
ده أهدى نوع فيهم… بس أخطرهم 
لأن الكود بيشتغل من غير ما يطلع Error، لكن النتيجة اللي بيطلعها غلط!
الكود هنا شغال تمام، مفيش Syntax أو Runtime Error،
بس المشكلة في المنطق نفسه - عملية الضرب بدل الجمع، وده بيخلي النتيجة غلط.
دلوقتي بعد ما فهمت أنواع الأخطاء الثلاثة، بقيت جاهز تتعامل معاها زي سنيور حقيقي، مش زَيّ اللي بيتخانقوا في الكومنتات 


النوع الأول: Syntax Errors
الـ Syntax Errors بتحصل لما يكون في خطأ في كتابة الكود نفسه، يعني اللغة مش قادرة تفهم اللي كتبته.مش دايمًا بيكون خطأ برمجي عميق، أحيانًا بيكون مجرد سهو بسيط منك وانت بتكتب.
أمثلة على Syntax Errors:
- نسيت تقفل الأقواس {}
- كتبت كلمة غلط زي functoin بدل function
- استخدمت كلمة محجوزة في اللغة كاسم متغير (زي var في JavaScript)
ده النوع اللي بيظهرلك بسرعة أول ما تحاول تشغل الكود، وغالبًا بتكون رسالته واضحة جدًا في الـ console.
النوع التاني: Runtime Errors
النوع ده بقى هو اللي بيكسر التطبيق وقت التشغيل، حتى لو الكود مكتوب شكله صح.يعني الكود بيتكتب عادي، بس أول ما يتنفّذ بيحصل الانفجار

أمثلة على Runtime Errors:
- بتستخدم متغير (variable) قبل ما تعمله تعريف (declare)
- بتستدعي دالة (function) مش موجودة
- أو بتحاول تتعامل مع قيمة undefined كأنها object
الحل:
استخدم try و catch عشان تمسك الأخطاء دي وتمنع البرنامج من الكراش الكامل: JavaScript:
try {
let result = data.value;
console.log(result);
} catch (error) {
console.error('Error occurred:', error);
}

النوع التالت: Logical Errors
ده أهدى نوع فيهم… بس أخطرهم 
لأن الكود بيشتغل من غير ما يطلع Error، لكن النتيجة اللي بيطلعها غلط!
مثال:
JavaScript:
function sumNumbers(a, b) {
return a * b; // المفروض + مش *
}
console.log(sumNumbers(6, 6)); // النتيجة: 36 بدل 12 😅
الكود هنا شغال تمام، مفيش Syntax أو Runtime Error،
بس المشكلة في المنطق نفسه - عملية الضرب بدل الجمع، وده بيخلي النتيجة غلط.
الخلاصة
نوع الخطأ | التوقيت | السبب | الحل |
---|---|---|---|
Syntax Error | أثناء الكتابة | خطأ في الصياغة | مراجعة الكود والتصحيح |
Runtime Error | أثناء التشغيل | استخدام غير صحيح للقيم أو المتغيرات | try/catch وتحليل الخطأ |
Logical Error | بعد التنفيذ | منطق خاطئ في الكود | مراجعة المنطق والتجربة |


التعديل الأخير: