PHP:
ত্রুটিগুলি পরিচালনা করা

কীভাবে:

PHP-তে, আপনি try-catch ব্লক ব্যবহার করে ত্রুটি পরিচালনা করতে পারেন, এবং কাস্টম ত্রুটি হ্যান্ডলার এবং ব্যতিক্রম দিয়ে প্রক্রিয়াটি কাস্টমাইজ করতে পারেন।

// বেসিক try-catch উদাহরণ
try {
  // কিছু ঝুঁকিপূর্ণ কাজ করুন
  $file = fopen("nonexistentfile.txt", "r");
} catch (Exception $e) {
  // ত্রুটি পরিচালনা করুন
  echo "Error: " . $e->getMessage();
}

// একটি কাস্টম ত্রুটি হ্যান্ডলার সেট করা
set_error_handler(function($severity, $message, $file, $line) {
  throw new ErrorException($message, 0, $severity, $file, $line);
});

// ব্যতিক্রম ব্যবহার করা
class MyException extends Exception {}

try {
  // কিছু করুন এবং একটি কাস্টম ব্যতিক্রম নিক্ষেপ করুন
  throw new MyException("Custom error!");
} catch (MyException $e) {
  // কাস্টম ব্যতিক্রম পরিচালনা করুন
  echo $e->getMessage();
}

// নমুনা আউটপুট:
// Error: fopen(nonexistentfile.txt): failed to open stream: No such file or directory
// Custom error!

গভীরে ডুব:

আগের দিনে, PHP ত্রুটিগুলো সম্পর্কে বেশি সতর্কবার্তা এবং নোটিশে ছিল যা স্ক্রিপ্ট নির্বাহন বন্ধ করে নি। ভাষাটি পরিপক্ক হওয়ার সাথে সাথে, এটি PHP 5-এ প্রবর্তিত Exception ক্লাসের মাধ্যমে আরও শক্তিশালী অবজেক্ট-ভিত্তিক ত্রুটি পরিচালনা গ্রহণ করে। পরে, PHP 7 ত্রুটি এবং ব্যতিক্রমের মধ্যে পার্থক্য প্রতিষ্ঠা করে এরর ক্লাসগুলির সাথে এগিয়ে আসে।

try-catch ব্লকগুলির আগে, PHP ত্রুটিগুলি পরিচালনার জন্য set_error_handler() ব্যবহার করত। try-catch আরও পরিস্কার, আধুনিক। কিন্তু কাস্টম ত্রুটি হ্যান্ডলারের এখনও একটি স্থান রয়েছে, বিশেষ করে পুরানো কোড বা যখন আপনার সাধারণত অ-ব্যতিক্রম ত্রুটিগুলি ধরতে হবে।

PHP 7+ এর Throwable ইন্টারফেস মানে এটি একটি Error বা Exception হোক, আপনি উভয়কেই ধরতে পারেন। এটি হাতে রাখা ভাল কারণ এখন আপনি ক্রিটিকাল রানটাইম ত্রুটিগুলি মিস করেন না, যা আগে অনুসরণ করা কঠিন ছিল।

PHP-র নির্মিত পদ্ধতির বাইরে অল্টারনেটিভগুলি include লাইব্রেরি এবং ফ্রেমওয়ার্ক যা নিজস্ব ত্রুটি পরিচালনা ব্যবস্থা নিয়ে আসে, ফাইলে ত্রুটি লগিং বা ব্যবহারকারী-বান্ধব ত্রুটি পৃষ্ঠা প্রদর্শনের মতো আরও বৈশিষ্ট্য অফার করে।

আরও দেখুন