🎯 এই পর্বে যা জানবে:
- এরর বা ত্রুটি কী
- প্রোগ্রাম চলাকালীন এরর ধরার কৌশল
perror()এবংexit()ফাংশনের ব্যবহারerrnoএর কাজ ও বাস্তব উদাহরণ- প্রোগ্রাম নিরাপদভাবে বন্ধ করার পদ্ধতি
⚠️ এরর কী?
প্রোগ্রাম চালানোর সময় যখন কোনো অনাকাঙ্ক্ষিত অবস্থা তৈরি হয় (যেমন ফাইল না পাওয়া, শূন্য দিয়ে ভাগ, বা মেমোরি বরাদ্দ না পাওয়া), তখন সেটাকে Error (ত্রুটি) বলে।
C প্রোগ্রামিং-এ তিন ধরণের এরর দেখা যায়:
- Syntax Error (সিনট্যাক্স ত্রুটি) — কোড লেখার নিয়ম ভাঙলে
- Logical Error (লজিক্যাল ত্রুটি) — প্রোগ্রাম চলে কিন্তু ভুল ফলাফল দেয়
- Runtime Error (রানটাইম ত্রুটি) — প্রোগ্রাম চলাকালীন সমস্যা (যেমন ফাইল না পাওয়া)
🧩 perror() ফাংশন
perror() ফাংশন ব্যবহার করে সহজে এররের কারণ দেখানো যায়।
এটি <stdio.h> হেডার ফাইলে থাকে।
🔹 সিনট্যাক্স:
perror("Error Message");🔹 উদাহরণ:
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("unknown.txt", "r");
if (fp == NULL) {
perror("ফাইল ওপেন করা যায়নি");
return 1;
}
fclose(fp);
return 0;
}আউটপুট:
ফাইল ওপেন করা যায়নি: No such file or directoryএখানে perror() সিস্টেম থেকে এরর মেসেজ প্রদর্শন করেছে।
🧮 errno ভেরিয়েবল
errno একটি গ্লোবাল ভেরিয়েবল, যা সর্বশেষ সংঘটিত এরর নম্বর সংরক্ষণ করে।
এটি <errno.h> হেডার ফাইলে ঘোষণা করা থাকে।
🔹 উদাহরণ:
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main() {
FILE *fp;
fp = fopen("abc.txt", "r");
if (fp == NULL) {
printf("এরর নম্বর: %d\n", errno);
printf("বিস্তারিত: %s\n", strerror(errno));
return 1;
}
fclose(fp);
return 0;
}আউটপুট:
এরর নম্বর: 2
বিস্তারিত: No such file or directoryএখানে strerror() ব্যবহার করে errno এর মান থেকে মানুষের পাঠযোগ্য বার্তা পাওয়া গেছে।
🚪 exit() ফাংশন
exit() ফাংশন প্রোগ্রামকে নির্দিষ্ট স্ট্যাটাস কোডসহ বন্ধ করে দেয়।
এটি <stdlib.h> হেডার ফাইলে থাকে।
🔹 উদাহরণ:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp = fopen("file.txt", "r");
if (fp == NULL) {
printf("ফাইল পাওয়া যায়নি! প্রোগ্রাম বন্ধ হচ্ছে...\n");
exit(1); // প্রোগ্রাম এখানেই বন্ধ
}
printf("ফাইল সফলভাবে ওপেন হয়েছে!\n");
fclose(fp);
return 0;
}আউটপুট:
ফাইল পাওয়া যায়নি! প্রোগ্রাম বন্ধ হচ্ছে...⚡ Error Handling Best Practices
✅ ইনপুট/আউটপুট এর আগে সবসময় যাচাই করো (if (fp == NULL))
✅ সিস্টেম এরর পেতে perror() বা errno ব্যবহার করো
✅ প্রোগ্রাম সুরক্ষিতভাবে বন্ধ করতে exit() ব্যবহার করো
✅ বড় প্রজেক্টে এরর কোড আলাদা কনস্ট্যান্ট হিসেবে রাখো
🧾 সংক্ষেপে
| ফাংশন | কাজ | হেডার |
|---|---|---|
perror() | সিস্টেম এরর বার্তা প্রদর্শন | stdio.h |
errno | সর্বশেষ এরর কোড ধরে রাখে | errno.h |
strerror() | এরর কোড থেকে টেক্সট মেসেজ দেয় | string.h |
exit() | প্রোগ্রাম বন্ধ করে | stdlib.h |



