পাইথনে বিভিন্ন ধরনের এক্সেপশন ইন্টারসেপ্ট করা
একই কোডে বিভিন্ন ধরনের এক্সেপশন ইন্টারসেপ্ট করার প্রয়োজন হতে পারে।
ধরুন আমাদের শূন্য দিয়ে ভাগ করার এক্সেপশন ধরতে হবে। এই ধরনের ত্রুটিতে নিম্নলিখিত এক্সেপশনটি দেখা যায়:
ZeroDivisionError: division by zero
এটি ধরতে হলে, এক্সেপশনের নাম
except ব্লকে লিখতে হবে:
try:
print(1 / 0)
except ZeroDivisionError:
print('error: do not divide by zero')
আবার ধরুন আমাদের একটি তালিকা আছে:
lst = [1, 2, 3]
যদি try ব্লকে অন্য কোনও সম্ভাব্য ত্রুটি সহ কোড
লেখা হয়, উদাহরণস্বরূপ, একটি অনুপস্থিত এলিমেন্ট
আউটপুট করা, তাহলে except ব্লকে ধরা না পড়া
এক্সেপশনটি আরও এগিয়ে যাবে এবং কনসোলে প্রিন্ট হবে।
যার ফলে কোডের কাজ বন্ধ হয়ে যাবে:
lst = [1, 2, 3]
try:
print(lst[4]) # এটি IndexError: list index out of range আউটপুট করবে
except ZeroDivisionError:
print('error: do not divide by zero')
এই ধরনের পরিস্থিতি সমাধানের জন্য, প্রতিটি ব্লকে সংশ্লিষ্ট ধরনের এক্সেপশনের নাম উল্লেখ করতে হবে। আসুন আমাদের কোডে অনুপস্থিত এলিমেন্টের এক্সেপশন যোগ করি:
try:
print(lst[4])
except ZeroDivisionError:
print('error: do not divide by zero')
except IndexError:
print('error: elem is not exist')
নিম্নলিখিত কোডটি দেওয়া হয়েছে:
txt = '2'
res1 = txt + 3
res2 = txt1
res1 এবং res2 ভেরিয়েবলে উপস্থাপিত
এক্সেপশনগুলি ইন্টারসেপ্ট করার জন্য কোড লিখুন।