আসুন ত্রুটি এবং ব্যতিক্রমগুলির মধ্যে পার্থক্য নিয়ে আলোচনা করা যাক৷
৷- ত্রুটি থেকে পুনরুদ্ধার করা সম্ভব নয়। ত্রুটির একমাত্র সমাধান হল মৃত্যুদন্ড বন্ধ করা। যেখানে আমরা ব্যতিক্রম থেকে পুনরুদ্ধার করতে পারি হয় চেষ্টা-ক্যাচ ব্লক ব্যবহার করে অথবা একটি ব্যতিক্রম কলারের কাছে ফিরিয়ে দিয়ে।
- আপনি ট্রাই-ক্যাচ ব্লক ব্যবহার করে ত্রুটিগুলি পরিচালনা করতে সক্ষম হবেন না। এমনকি আপনি চেষ্টা-ক্যাচ ব্লক ব্যবহার করে সেগুলি পরিচালনা করলেও, সেগুলি ঘটলে আপনার অ্যাপ্লিকেশন পুনরুদ্ধার হবে না। অন্যদিকে, ব্যতিক্রমগুলি ট্রাই-ক্যাচ ব্লকগুলি ব্যবহার করে পরিচালনা করা যেতে পারে এবং যদি সেগুলি ঘটে থাকে তবে প্রোগ্রামটি স্বাভাবিকভাবে প্রবাহিত করতে পারে৷
- ব্যতিক্রমগুলি অ্যাপ্লিকেশনের সাথে সম্পর্কিত যেখানে ত্রুটিগুলি সেই পরিবেশের সাথে সম্পর্কিত যেখানে অ্যাপ্লিকেশন চলছে৷
উদাহরণ
<?php try { $row->insert(); $inserted = true; } catch (Exception $e) { echo "There was an error inserting the row - ".$e->getMessage(); $inserted = false; } echo "Some more stuff"; ?>
ব্যাখ্যা
প্রোগ্রাম এক্সিকিউশন চলতে থাকবে - কারণ আপনি ব্যতিক্রমটি 'ধরেছেন'। একটি ব্যতিক্রম একটি ত্রুটি হিসাবে ধরা হবে যদি না এটি ধরা হয়. এটি ব্যর্থ হওয়ার পরেও এটি আপনাকে প্রোগ্রাম এক্সিকিউশন চালিয়ে যাওয়ার অনুমতি দেবে৷
উদাহরণ
<?php $foo = [bar]; echo $foo; ?>
ব্যাখ্যা
PHP নোটিশের সাথে প্রোগ্রাম এক্সিকিউশন বন্ধ হয়ে যাবে:অ্যারে টু স্ট্রিং কনভার্সন।