কম্পিউটার টিউটোরিয়াল

C-তে এরর হ্যান্ডলিং


C ভাষা সরাসরি এরর হ্যান্ডলিং সাপোর্ট করে না। তবে C-তে এরর হ্যান্ডলিং করার অন্য কিছু উপায় রয়েছে। "error.h" হেডার ফাইলটি রিটার্ন স্টেটমেন্ট ফাংশন ব্যবহার করে এরর প্রিন্ট করতে ব্যবহৃত হয়।

এরর হলে এটি -1 বা NULL রিটার্ন করে এবং errno ভেরিয়েবলটি এরর কোড সহ সেট হয়। C-তে যখনই কোনো ফাংশন কল করা হয়, errno ভেরিয়েবলটি তার সাথে যুক্ত থাকে। errno একটি গ্লোবাল ভেরিয়েবল যা এক্সিকিউশনে এরর টাইপ খুঁজে বের করতে ব্যবহৃত হয়।

নিচের টেবিলে কিছু এরর দেখানো হয়েছে:

Sr.NoErrors & Error value
1I/O Error
5
2No such file or directory
2
3Argument list too long
7
4Out of memory
12
5Permission denied
13

C-তে এরর হ্যান্ডল করার কিছু পদ্ধতি:

  • perror() — এই ফাংশনটি এরর প্রিন্ট করতে ব্যবহৃত হয় এবং কারেন্ট errno ভ্যালুর টেক্সচুয়াল রিপ্রেজেন্টেশনসহ স্ট্রিং রিটার্ন করে।

  • strerror() — এই ফাংশনটি "string.h" হেডার ফাইলে ডিক্লেয়ার করা রয়েছে এবং কারেন্ট errno ভ্যালুর স্ট্রিংয়ের পয়েন্টার রিটার্ন করে।

  • এক্সিট স্ট্যাটাস — EXIT_SUCCESS এবং EXIT_FAILURE নামে দুটি কনস্ট্যান্ট রয়েছে যা exit() ফাংশনে ব্যবহার করে কলিং ফাংশনকে এরর সম্পর্কে জানাতে পারে।

  • শূন্য দিয়ে ভাগ — এটিইকটি পরিস্থিতি যেখানে C-তে এই এরর হ্যান্ডল করা সম্ভব নয়। এই এরর এড়িয়ে চলা উচিত এবং প্রোগ্রামে 'if' কন্ডিশন দিয়ে ডিভাইজরের মান চেক করা যেতে পারে।

C-তে এরর হ্যান্ডলিং উদাহরণ:

উদাহরণ

#include <stdio.h>
#include <stdlib.h>
main() {
    int x = 28;
    int y = 8;
    int z;
    if (y == 0) {
        fprintf(stderr, "Division by zero!\n");
        exit(EXIT_FAILURE);
    }
    z = x / y;
    fprintf(stderr, "Value of z: %d\n", z);
    exit(EXIT_SUCCESS);
}

আউটপুট

Value of z: 3

  1. Windows Error 43 সমাধান: হার্ডওয়্যার ও ড্রাইভার ফিক্সের নির্ভরযোগ্য গাইড

  2. 0x0000c1f5 ব্লু স্ক্রিন ত্রুটি সমাধান: ভিস্তা-এ ধাপে ধাপে ফিক্স

  3. 0x0000c1f5 ব্লু স্ক্রিন সমাধান: উইন্ডোজ ভিস্টার জন্য দ্রুত ড্রাইভার ও লগ ফাইল মেরামত

  4. MULTIPLE_IRP_COMPLETE_REQUESTS BSOD ত্রুটি সমাধান