LIBRARY // Error Library

Error Library

Filter by language & difficulty — color is information: Easy · Medium · Hard

Reset
python LOGIC Hard

الـ late binding في lambda داخل حلقة

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

python RUNTIME Hard

استدعاء دالة على None

دالة قد ترجع None عند الفشل، استدعاء خاصية عليها يطلق AttributeError: NoneType has no attribute.

python LOGIC Hard

النسخ السطحي لقائمة متداخلة

نسخ قائمة بـ list() أو [:] ينسخ المستوى الأول فقط، فتعديل القائمة الداخلية يؤثر على الأصل.

python RUNTIME Hard

تكرار لا نهائي RecursionError

دالة تستدعي نفسها بدون شرط توقف تملأ مكدس الاستدعاء وتطلق RecursionError.

python LOGIC Hard

مشكلة الترميز عند قراءة ملف عربي

فتح ملف بترميز خاطئ يطلق UnicodeDecodeError أو يظهر حروف مشوهة عند قراءة نص عربي.

python LOGIC Hard

استخدام except عام يبتلع الأخطاء

التقاط كل الاستثناءات بـ except: يخفي الأخطاء الحقيقية ويجعل التصحيح صعباً.

php LOGIC Hard

مشكلة المرجع في foreach مع & ونسيان unset

استخدام & في foreach يبقي المتغير مرجعاً لآخر عنصر بعد الحلقة، فأي تعديل لاحق لنفس المتغير يعدل المصفوفة الأصلية بالخطأ.

php SYNTAX Easy

نسيان علامة $ قبل اسم المتغير

كل متغير في PHP يبدأ بـ $. نسيانها يجعل المفسر يعتبر الاسم ثابت (constant) فيظهر Use of undefined constant أو يفسرها بشكل خاطئ.

php LOGIC Easy

استخدام = بدلاً من == في شرط if

علامة = تُسند قيمة لا تقارن. داخل if ستُسند القيمة دائماً وتُقيّم كـ true فينجح الشرط حتى لو لم تكن القيمة متوقعة، فيُعطي نتيجة منطقية خاطئة بدون خطأ ظاهر.

php RUNTIME Easy

الوصول لمتغير غير معرف Undefined variable

استخدام متغير لم يُعرّف مسبقاً يطلق Warning: Undefined variable وقد يسبب منطق خاطئ أو Notice يتحول لخطأ في إعدادات صارمة. يحدث غالباً بسبب خطأ إملائي أو نسيان تهيئة.

php SYNTAX Easy

استدعاء دالة باسم خاطئ (حساسية الحروف)

أسماء الدوال في PHP غير حساسة للحروف لكن الأخطاء الإملائية مثل strLeng بدل strlen تؤدي لـ Call to undefined function. يحدث كثيراً مع دوال النصوص.

php SYNTAX Easy

نسيان قوس الإغلاق في دالة أو شرط

كل قوس مفتوح يجب إغلاقه. نسيانه يسبب Parse error عند نهاية الملف لأن المفسر ينتظر الإغلاق ولا يجده.