কম্পাইল টাইম এবং রানটাইম ত্রুটি হ্যান্ডলিং

উন্নত বিষয় - সি প্রোগ্রামিং উদাহরণ (C Examples) - Computer Science

340

C প্রোগ্রামিংয়ে কম্পাইল টাইম এবং রানটাইম ত্রুটি দুটি গুরুত্বপূর্ণ ধারণা। এগুলো ত্রুটি শনাক্তকরণ এবং হ্যান্ডলিংয়ের ক্ষেত্রে প্রভাব ফেলে। নিচে উভয়ের সংজ্ঞা, উদাহরণ এবং হ্যান্ডলিংয়ের পদ্ধতি আলোচনা করা হলো।

কম্পাইল টাইম ত্রুটি

সংজ্ঞা: কম্পাইল টাইম ত্রুটি (Compile-time Errors) হলো সেসব ত্রুটি যা প্রোগ্রাম কম্পাইল করার সময় ঘটে। এই ত্রুটিগুলো সাধারণত সিনট্যাক্স বা টাইপ ত্রুটির কারণে হয়, যার ফলে কম্পাইলার প্রোগ্রামটি তৈরি করতে অক্ষম হয়।

উদাহরণ:

#include <stdio.h>

int main() {
    int num;
    printf("Enter a number: ");
    scanf("%d", num);  // ত্রুটি: num-এর ঠিকানার পয়েন্টার ব্যবহার করা হয়নি
    return 0;
}

এখানে scanf() ফাংশনের দ্বিতীয় আর্গুমেন্টে num পরিবর্তনশীলের ঠিকানা &num ব্যবহার করা উচিত। এটা একটি কম্পাইল টাইম ত্রুটি।

হ্যান্ডলিং:

  • ত্রুটি সংশোধন: সিনট্যাক্স ত্রুটির কারণে প্রোগ্রামটি কম্পাইলার দ্বারা শনাক্ত করা হয় এবং প্রোগ্রামিং ভুলগুলি সংশোধন করে এই ত্রুটি সমাধান করতে হবে।
  • ট্রেসিং: কম্পাইলার ত্রুটির সঠিক অবস্থান এবং কারণ প্রদর্শন করে, যা প্রোগ্রামারের জন্য সহায়ক।

রানটাইম ত্রুটি

সংজ্ঞা: রানটাইম ত্রুটি (Runtime Errors) হলো সেসব ত্রুটি যা প্রোগ্রামটি চলাকালীন সময়ে ঘটে। এটি সাধারণত লজিক্যাল ত্রুটি, ডেটা ইনপুট ত্রুটি, মেমোরি ত্রুটি, বা ডিভাইসের সাথে যোগাযোগের সমস্যার কারণে ঘটে।

উদাহরণ:

#include <stdio.h>

int main() {
    int num1, num2;
    printf("Enter two numbers: ");
    scanf("%d %d", &num1, &num2);
    
    // Zero Division Error
    int result = num1 / num2;  // যদি num2 শূন্য হয়, তাহলে রানটাইম ত্রুটি হবে
    printf("Result: %d\n", result);
    return 0;
}

এখানে যদি num2 শূন্য হয়, তাহলে রানটাইম সময়ে "Division by zero" ত্রুটি ঘটবে।

হ্যান্ডলিং:

C তে রানটাইম ত্রুটি হ্যান্ডলিংয়ের জন্য প্রচলিত উপায় হল:

ইনপুট যাচাইকরণ: ইনপুট মান যাচাই করা।

if (num2 == 0) {
    printf("Error: Division by zero is not allowed.\n");
    return 1; // ত্রুটি কোড রিটার্ন করা
}

লজিক্যাল ত্রুটি সংশোধন: লজিক্যাল ত্রুটিগুলি শনাক্ত এবং সংশোধন করতে কোড পর্যালোচনা করা।

মেমোরি ত্রুটি হ্যান্ডলিং: মেমোরি বরাদ্দের পরে সেটি সফলভাবে হয়েছে কিনা পরীক্ষা করা।

int *arr = (int *)malloc(size * sizeof(int));
if (arr == NULL) {
    printf("Memory allocation failed.\n");
    return 1;
}

উপসংহার

কম্পাইল টাইম এবং রানটাইম ত্রুটি হ্যান্ডলিং প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ অংশ। কম্পাইল টাইম ত্রুটিগুলো সাধারণত কোড সংশোধনের মাধ্যমে সমাধান করা হয়, যেখানে রানটাইম ত্রুটিগুলো চলমান অবস্থায় ডেটা যাচাইকরণের মাধ্যমে হ্যান্ডল করা হয়। দুই ধরনের ত্রুটির প্রতি সতর্ক থাকলে প্রোগ্রামিংয়ে কার্যকর এবং নির্ভরযোগ্য কোড লেখা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...