Exception Handling কী?
প্রোগ্রাম চলাকালীন ভুল হলে (error/exception) প্রোগ্রাম ক্র্যাশ না করে সুন্দরভাবে সামলানো।
try-except
# ভুল ছাড়া
try:
result = 10 / 0
except ZeroDivisionError:
print("শূন্য দিয়ে ভাগ করা যায় না! ❌")
# একাধিক except
try:
num = int(input("সংখ্যা দিন: "))
result = 100 / num
print(f"ফলাফল: {result}")
except ValueError:
print("দয়া করে একটি সংখ্যা দিন!")
except ZeroDivisionError:
print("শূন্য দেওয়া যাবে না!")
try-except-else-finally
try:
f = open("data.txt", "r")
content = f.read()
except FileNotFoundError:
print("ফাইল পাওয়া যায়নি! ❌")
else:
print("ফাইল সফলভাবে পড়া হয়েছে ✅")
print(content)
finally:
print("এই অংশ সবসময় চলবে")
# cleanup কাজ এখানে
Custom Exception
class AgeError(Exception):
pass
def check_age(age):
if age < 0:
raise AgeError("বয়স ঋণাত্মক হতে পারে না!")
if age > 150:
raise AgeError("বয়স ১৫০ এর বেশি হতে পারে না!")
return "বৈধ বয়স ✅"
try:
print(check_age(-5))
except AgeError as e:
print(f"ভুল: {e}")