قراءة التوثيق التقني
فهم رسائل الأخطاء
6 دقيقة للقراءة
رسائل الأخطاء هي بوصلتك لتصحيح الأخطاء. فهم أنماط الأخطاء الإنجليزية الشائعة سيوفر عليك ساعات من البحث.
تشريح رسالة الخطأ
TypeError: Cannot read properties of undefined (reading 'name')
at getUserName (app.js:15:23)
at processUsers (app.js:42:10)
تفكيكها:
- نوع الخطأ:
TypeError— تصنيف الخطأ - الوصف:
Cannot read properties of undefined— ما الذي حدث بشكل خاطئ - التفصيل:
(reading 'name')— أي خاصية تحديداً - تتبع المكدس:
at getUserName (app.js:15:23)— أين حدث الخطأ
أنواع الأخطاء الشائعة ومعانيها
| الخطأ | المعنى بالعربية | ماذا يعني |
|---|---|---|
| TypeError | خطأ في النوع | نوع بيانات خاطئ (مثل استدعاء دالة على undefined) |
| ReferenceError | خطأ مرجعي | المتغير غير موجود |
| SyntaxError | خطأ نحوي | خطأ في قواعد كتابة الكود |
| RangeError | خطأ في النطاق | رقم خارج النطاق المسموح |
| NetworkError | خطأ في الشبكة | مشكلة في الاتصال |
| TimeoutError | خطأ انتهاء المهلة | الطلب استغرق وقتاً طويلاً |
| PermissionError | خطأ في الصلاحيات | غير مسموح بتنفيذ الإجراء |
عبارات مفتاحية في رسائل الأخطاء
| العبارة الإنجليزية | الترجمة العربية | الإجراء المطلوب |
|---|---|---|
| "Cannot read properties of undefined" | لا يمكن قراءة خصائص undefined | تحقق من وجود المتغير قبل الوصول إليه |
| "is not a function" | ليست دالة | أنت تستدعي شيئاً ليس دالة |
| "is not defined" | غير معرّف | المتغير أو الدالة غير موجودة في النطاق |
| "Unexpected token" | رمز غير متوقع | خطأ نحوي — تحقق من الأقواس والفواصل المفقودة |
| "Module not found" | الوحدة غير موجودة | تحقق من مسار الاستيراد وتثبيت الحزمة |
| "Connection refused" | تم رفض الاتصال | الخادم لا يعمل أو المنفذ خاطئ |
| "CORS policy" | سياسة CORS | طلب عبر النطاقات محظور من المتصفح |
| "Out of memory" | نفدت الذاكرة | البرنامج يستخدم ذاكرة كثيرة جداً |
| "Stack overflow" | تجاوز المكدس | تكرار لا نهائي أو سلسلة استدعاءات عميقة جداً |
قراءة تتبع المكدس (Stack Trace)
تتبع المكدس يُقرأ من الأعلى إلى الأسفل — السطر الأول هو مكان حدوث الخطأ، وكل سطر أدناه يُظهر الدالة التي استدعته:
Error: User not found
at findUser (database.js:25) ← الخطأ حدث هنا
at processLogin (auth.js:42) ← التي استُدعيت من هنا
at handleRequest (server.js:15) ← التي استُدعيت من هنا
نصيحة: ركّز على ملفاتك أنت أولاً (وليس node_modules أو ملفات الإطار).
مرجع سريع لرموز أخطاء HTTP
| الرمز | الاسم بالإنجليزية | بالعربية | السبب الشائع |
|---|---|---|---|
| 400 | Bad Request | طلب خاطئ | بيانات غير صالحة مُرسلة |
| 401 | Unauthorized | غير مصرح | رمز مصادقة مفقود أو غير صالح |
| 403 | Forbidden | محظور | رمز صالح ولكن بدون صلاحية |
| 404 | Not Found | غير موجود | عنوان URL خاطئ |
| 409 | Conflict | تعارض | إدخال مكرر |
| 422 | Unprocessable Entity | كيان غير قابل للمعالجة | فشل التحقق |
| 429 | Too Many Requests | طلبات كثيرة جداً | تجاوز حد المعدل |
| 500 | Internal Server Error | خطأ داخلي في الخادم | خطأ في كود الخادم |
| 502 | Bad Gateway | بوابة خاطئة | الخادم الخلفي معطل |
| 503 | Service Unavailable | الخدمة غير متاحة | الخادم محمّل فوق طاقته |
:::