পাইথনে এক্সেপশন সহ ফাংশন
শর্ত ব্যবহার করে ফাংশনে এক্সেপশন নিক্ষেপ করা খুবই সুবিধাজনক।
আসুন একটি ফাংশন get_sum তৈরি করি,
যা একটি তালিকার উপাদানগুলির যোগফল প্রদর্শন করবে
শুধুমাত্র তখনই, যখন তালিকার দৈর্ঘ্য
3-এর থেকে কম বা সমান হয়। অন্যথায়,
আমাদের এক্সেপশন ToBigLength নিক্ষেপ করা হোক:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
এখন get_sum ফাংশনে একটি তালিকা পাঠানো যাক
এবং কনসোলে ফাংশনটি প্রিন্ট করি:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # 6 প্রিন্ট করবে
এছাড়াও ফাংশনে একাধিক ধরনের এক্সেপশন
ধরা যায়। আসুন আরও একটি এক্সেপশন ক্লাস
ToSmallLength তৈরি করি:
class ToSmallLength(Exception):
pass
এখন ফাংশনে শর্ত লিখি, যদি
তালিকার দৈর্ঘ্য শূন্য হয়, তাহলে
ToSmallLength নিক্ষেপ করা হোক।
আর যদি কোনো এক্সেপশন না ধরা পড়ে,
তাহলে তালিকার সমস্ত উপাদানের যোগফল
প্রদর্শিত হোক:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
সুবিধার জন্য, যে তালিকাটি ফাংশনের প্যারামিটারে
পাঠানো হবে, ফাংশন নিজেই এবং এটির কলকে
try ব্লকে আবদ্ধ করা যেতে পারে।
আর আমাদের দুটি এক্সেপশন ধরা হবে
except ব্লকে:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
এমন একটি ফাংশন তৈরি করুন যা একটি সংখ্যাকে
প্যারামিটার হিসেবে গ্রহণ করবে। এতে শর্ত লিখুন,
যদি সংখ্যাটি ঋণাত্মক এবং শূন্যের সমান হয়, তাহলে
সংশ্লিষ্ট এক্সেপশন নিক্ষেপ করা হোক।
অন্যথায় সংখ্যাটিকে 3 দ্বারা গুণ করা হোক।
try-except কনস্ট্রাকশন ব্যবহার করে আপনি তৈরি
করা ফাংশনের কাজ পরীক্ষা করুন। এটির সাথে
আপনার এক্সেপশনগুলিও ধরুন।