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ثم استخدام مؤشّر فارغ.
🎯 التالي: العمليات على البِتّات.