تخطَّ إلى المحتوى

🇨 شرح لغة C

معالجة الأخطاء

الدرس 22 من 25· ⏱ 1 دقائق قراءة

C لا تملك try/catch

تعتمد C على قيم الإرجاع للإبلاغ عن الأخطاء، فافحصها دائمًا.

FILE *f = fopen("x.txt", "r");
if (f == NULL) {
    printf("تعذّر فتح الملف\n");
    return 1;
}

errno و perror

كثير من دوال المكتبة تضبط متغيّرًا عالميًا errno عند الفشل:

#include <errno.h>
#include <string.h>

FILE *f = fopen("x.txt", "r");
if (f == NULL) {
    perror("خطأ");                 // يطبع رسالة وصفية
    printf("%s\n", strerror(errno)); // أو يدويًا
}

قيم الإرجاع من main

return 0;   // نجاح
return 1;   // فشل (أي قيمة غير صفرية)

أخطاء شائعة

  • تجاهل قيمة إرجاع malloc أو fopen ثم استخدام مؤشّر فارغ.

🎯 التالي: العمليات على البِتّات.

هل كان هذا الدرس مفيدًا؟