Error এবং Exception এর মধ্যে পার্থক্য

Error Handling এবং Exception Handling এর উন্নয়ন (Improved Error and Exception Handling) - পিএইচপি (PHP 7) - Computer Programming

310

Error এবং Exception PHP তে দুটি আলাদা ধরনের সমস্যা বা ত্রুটি প্রতিনিধিত্ব করে, তবে এদের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। যেহেতু PHP 7-এ Error HandlingException Handling আরও শক্তিশালী হয়েছে, তাই এই দুইয়ের মধ্যে পার্থক্য বুঝে কোডে সঠিকভাবে ত্রুটি মোকাবিলা করা গুরুত্বপূর্ণ।

১. Error এবং Exception কী?

  • Error: একটি Error হলো সাধারণত এমন ত্রুটি যা কোডের ভুল বা ত্রুটির কারণে ঘটে এবং এটি PHP ইঞ্জিন দ্বারা অটোমেটিকভাবে ধরা হয়। Error সাধারণত কোডের স্তরের গণ্ডি ছাড়িয়ে যায় এবং সিস্টেমের গুরুতর সমস্যা নির্দেশ করে (যেমন মেমরি সমস্যা, ফাইল সিস্টেমের সমস্যা ইত্যাদি)।
  • Exception: একটি Exception হলো এমন একটি সমস্যা যা আপনার কোডের মধ্যে ঘটতে পারে এবং আপনি নিজে তা ধরতে পারেন। এটি সাধারণত নিয়মিত, মানানসই ত্রুটি যা আপনার কোডের মধ্যে এক্সপেক্টেড হওয়া উচিত এবং এটি হ্যান্ডল করা যেতে পারে। Exception সাধারণত try-catch ব্লক দিয়ে হ্যান্ডল করা হয়।

২. Error এবং Exception এর মধ্যে পার্থক্য

বৈশিষ্ট্যErrorException
ভুল টাইপError সাধারণত ফ্যাটাল বা সিস্টেম সম্পর্কিত ত্রুটি যা সাধারণত সরাসরি সংশোধন করা যায় না।Exception আপনার কোডের মধ্যে সৃষ্ট সমস্যাগুলির জন্য ব্যবহৃত হয় এবং এটির জন্য আপনার কোডের মধ্যে ত্রুটি হ্যান্ডলিং সরবরাহ করা সম্ভব।
ধরার সময়Errors স্বয়ংক্রিয়ভাবে PHP দ্বারা ধরা হয় এবং আপনার কোড চলতে থাকা অবস্থায় সেগুলো ঘটতে পারে।Exceptions সাধারণত আপনার কোডে বিশেষভাবে প্রোগ্রাম করা হয় এবং যখন তা ঘটে তখন তা try-catch ব্লক দ্বারা ধরা যায়।
ধরার ক্ষমতাError ক্লাস দ্বারা সম্পূর্ণভাবে ধরা যায় না, এবং এক্সেপশন হ্যান্ডলিংয়ের জন্য try-catch ব্লক ব্যবহার করা যায় না।Exception ক্লাস দ্বারা ধরা যায় এবং try-catch ব্লক ব্যবহার করে হ্যান্ডল করা যায়।
প্রধান উদাহরণমেমরি লিমিট Exceeded, OutOfMemoryError, FatalError ইত্যাদিException, PDOException, IOException, RuntimeException ইত্যাদি।
ফ্যাটাল/নন-ফ্যাটালবেশিরভাগ Error গুলি ফ্যাটাল হয় (যেগুলি সাধারণত কোড চালানোর ক্ষমতা বন্ধ করে দেয়)।Exception গুলি সাধারণত নন-ফ্যাটাল হয় এবং সেগুলি হ্যান্ডল করা সম্ভব।
ধরার উপায়Error এর জন্য catch ব্লক ব্যবহৃত হয় না। এর পরিবর্তে, আপনি set_error_handler() বা ErrorException ব্যবহার করতে পারেন।Exception সাধারণভাবে try-catch ব্লক দ্বারা ধরা হয়।

৩. Error Handling এবং Exception Handling

Error Handling (PHP 7 এর পর)

PHP 7 থেকে Error এবং Exception এর মধ্যে আরও পার্থক্য করা হয়েছে। আগের PHP সংস্করণে, Error এবং Exception একসাথে হ্যান্ডল করা হত, কিন্তু PHP 7 থেকে Error ক্লাস নতুনভাবে তৈরি করা হয়েছে, এবং এটি Throwable ইন্টারফেস দ্বারা অ্যাক্সেসযোগ্য।

Error Handling উদাহরণ:

<?php
try {
    // কিছু কোড যা `Error` তৈরি করতে পারে
    $file = fopen("non_existent_file.txt", "r");
} catch (Throwable $e) {
    echo "Caught an error: " . $e->getMessage();
}
?>

এখানে Throwable ইন্টারফেস ব্যবহার করা হয়েছে, যা এখন Error এবং Exception উভয়কেই ধরতে সক্ষম।

Exception Handling

Exception Handling একটি সাধারণ পদ্ধতি যেখানে আপনি try-catch ব্লক ব্যবহার করে আপনার কোডের মধ্যে সৃষ্ট সমস্যা মোকাবিলা করতে পারেন।

Exception Handling উদাহরণ:

<?php
try {
    // কিছু কোড যা `Exception` তৈরি করতে পারে
    if (!file_exists("example.txt")) {
        throw new Exception("File not found.");
    }
} catch (Exception $e) {
    echo "Caught an exception: " . $e->getMessage();
}
?>

এখানে throw ব্যবহার করে Exception তৈরি করা হয়েছে এবং catch ব্লক দ্বারা তা হ্যান্ডল করা হয়েছে।


৪. Error এবং Exception এর প্রয়োগ ক্ষেত্র

  • Error: সাধারণত সিস্টেমের গুরুতর ত্রুটিগুলোর জন্য ব্যবহৃত হয় যা কোডের চলাচলে বাধা সৃষ্টি করে। উদাহরণস্বরূপ, যদি আপনার কোড মেমরি লিমিট অতিক্রম করে বা কোনো অপরিহার্য ফাইল খোলার চেষ্টা করে, তখন PHP একটি Error ছুড়ে দেবে। এই ধরনের ত্রুটি আপনার কোডের কাজকে বন্ধ করে দেয়।
  • Exception: এমন ত্রুটি যা আপনার কোডের মধ্যে কিছু ভুল বা অবৈধ প্রবাহের কারণে ঘটতে পারে, সেগুলোর জন্য Exception ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি একটি ডাটাবেসে কানেকশন করতে ব্যর্থ হন বা কোনো নির্দিষ্ট ফাইল খুঁজে না পান, তবে এটি একটি Exception তৈরি করতে পারে, এবং আপনি এটি হ্যান্ডল করতে পারেন।

সারসংক্ষেপ

  • Error সাধারণত গুরুতর সমস্যা যা কোডের কাজ বন্ধ করে দেয়, যেমন মেমরি সীমা অতিক্রম, এবং এটি সাধারণত Throwable ইন্টারফেস দ্বারা হ্যান্ডল করা হয়।
  • Exception সাধারণত কোডের মধ্যে প্রত্যাশিত সমস্যা বা ভুল যা try-catch ব্লক দ্বারা হ্যান্ডল করা যায়।
  • PHP 7-এ, Error এবং Exception আলাদাভাবে চিহ্নিত করা হয়েছে, এবং Throwable ইন্টারফেস দ্বারা উভয়কেই হ্যান্ডল করা সম্ভব।
  • Error এবং Exception এর মধ্যে প্রধান পার্থক্য হল যে Error গুলি সাধারণত ফ্যাটাল (এগুলি কোডের কাজ বন্ধ করে দেয়), এবং Exception গুলি সাধারণত নন-ফ্যাটাল (এগুলি হ্যান্ডল করা যায়)।

এই পার্থক্যগুলো বুঝে, আপনি PHP তে ত্রুটি হ্যান্ডলিং যথাযথভাবে করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...