এখানে এরর এবং এক্সেপশনের মধ্যে পার্থক্য আলোচনা করা হলো:
- এরর থেকে রিকভার করা সম্ভব নয়। এরর একমাত্র সমাধান হলো এক্সিকিউশন টার্মিনেট করা। 반면 এক্সেপশন থেকে রিকভার করা সম্ভব try-catch ব্লক ব্যবহার করে বা এক্সেপশন কলারের দিকে ফিরিয়ে দিয়ে।
- আপনি try-catch ব্লক ব্যবহার করে এরর হ্যান্ডল করতে পারবেন না। যদি হ্যান্ডল করেও দেন, তবে এপ্লিকেশন রিকভার করবে না যদি সেগুলো হয়। অন্যদিকে, এক্সেপশন try-catch ব্লক দিয়ে হ্যান্ডল করা যায় এবং প্রোগ্রাম ফ্লো নরমাল থাকতে পারে।
- এক্সেপশন অ্যাপ্লিকেশনের সাথে সম্পর্কিত তবে এরর অ্যাপ্লিকেশন যেনভায়রনমেন্টের সাথে সম্পর্কিত যেখানে অ্যাপ্লিকেশন রান করছে।
উদাহরণ
<?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 Notice: Array to string conversion দিয়ে থেমে যাবে।