ত্রুটি পরিচালনার প্রবাহ (প্রোগ্রাম কীভাবে একটি ব্যতিক্রমী পরিস্থিতি থেকে পুনরুদ্ধার করার চেষ্টা করছে ) থেকে স্বাভাবিক প্রোগ্রাম প্রবাহকে (প্রোগ্রামটি কী ডিজাইন করা হয়েছে) আলাদা করতে এক্সপিশন উপস্থিত রয়েছে ।
এটি কোডটিকে আরও স্পষ্ট এবং বজায় রাখা সহজ করে তোলে।
দুটি কোড স্নিপলেট বিবেচনা করুন:
try:
do1() # this is obvoiusly a normal
do2() # program flow
except:
oups() # this is exception handling code
এই তুলনায়:
if foo():
thing1() # is this part of normal program flow?
else:
thing2() # or maybe this one? Or both? When?
অবশ্যই প্রোগ্রামটি ক্রাশ হওয়া থেকে রোধ করতে ব্যতিক্রম হ্যান্ডলিং ব্যবহার করা যেতে পারে:
try { // very bad code
my();
whole();
ugly();
application();
here();
} catch (Throwable t) {
// pretend it's ok
}
তবে আধুনিক প্রোগ্রামিং ভাষাগুলিতে ব্যতিক্রম হওয়ার কারণ এটি নয়।
এছাড়াও আপনি ব্যবহার করতে পারেন while
এবং break
পরিবর্তে if
কিন্তু এই নয় কি while
এবং break
জন্য হয়।