“Try-except” পাইথন এর একটি উপায় যা প্রোগ্রাম চলানোর সময় ত্রুটি হ্যান্ডল করার জন্য ব্যবহৃত হয়।
আমরা চাই আমাদের প্রোগ্রাম এ যদি কোন এরর আসে তাহলে পরের লাইনের কোড যেন বন্ধ না হয় এজন্য try except ব্লক ব্যবহার করি
try:
roll = int(input("Enter Number :"))
print(10/roll)
except ZeroDivisionError:
print('0 is not devide')
print('Yes You Are Success')

এটি একটি সহজ উদাহরণ দেখায়:
try:
# কোড যা যাচ্ছে
num = int(input("একটি সংখ্যা দিন: "))
result = 10 / num
print("ফলাফল:", result)
except ZeroDivisionError:
print("ভাগ দ্বারা শূন্য সংখ্যা দেওয়া যাবে না")
except ValueError:
print("সঠিক সংখ্যা প্রদান করা আবশ্যক")
except Exception as e:
print("অপ্রত্যাশিত ত্রুটি:", e)
এই উদাহরণে, আমরা একটি ভাগনী ও সংখ্যা প্রদান করা আমরা try ব্লকে রাখো হয়। যদি সংখ্যা শূন্যে ভাগ করার চেষ্টা করা হয় (ZeroDivisionError) বা অযেভাবে সংখ্যা না প্রদান করা হয় (ValueError) তবে আমরা এই ত্রুটিগুলির সাথে প্রদান করা বার্তা দেখতে পাব। যদি অন্য কোন অপ্রত্যাশিত ত্রুটি হয়, তবে আমরা এটিকে প্রিন্ট করতে পারি এবং এটি প্রোগ্রামটি বন্ধ না হওয়ার জন্য সাবধানভাবে নিয়ন্ত্রণ করতে সাহায্য করতে পারি।
উদাহরণ 2
মনে করুন, আপনি একটি ক্যালকুলেটর প্রোগ্রাম লেখতে যাচ্ছেন যেখানে ব্যবহারকারী দুটি সংখ্যা এবং একটি অপারেটর ইনপুট দেয় (+,-,*,/)।
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-' :
result = num1 - num2
elif operator == '*' :
result = num1 * num2
elif operator == '/' :
result = num1 / num2
print (result)
প্রোগ্রামটি রান করি
প্রথম ইনপুট হিসাবে ৫০ দ্বিতীয় ইনপুট হিসাবে ৪০ এবং অপারেটর হিসাবে + দেই তাহলে যোগফল পাবো।

আমি যদি +,-,*,/ ছাড়া অন্য কোন ইনপুট দেই তাহলে এরর শো করে প্রোগ্রাম বন্ধ হয়ে যাবে যেমন আমি অপারেটর হিসাবে r অক্ষর দিলাম দেখি কি শো করে।

এই সমস্যা সমাধানের জন্য আমরা else ব্যবহার করতে পারি
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-' :
result = num1 - num2
elif operator == '*' :
result = num1 * num2
elif operator == '/' :
result = num1 / num2
else:
print("Enter Valid Operator")
exit(1)
print (result)

মনে করি ইনপুট হিসাবে নাম্বারের পরিবর্তে অক্ষর দিলাম বা অন্য সিম্বল দিলাম এই সমস্যা সমাধানের জন্য try except ব্লক ব্যবহার করবো যদি কোন ইনপুট ভুল হয় তা except ব্লকে প্রিন্ট করে বলে দেব
try:
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
result = num1 / num2
# +,-,*,/ পরিবর্তে অন্য অক্ষর দিলে শো করবে
else:
print("Enter Valid Operator")
exit(1)
#নাম্বারের পরিবর্তে অক্ষর দিলে শো করবে
except ValueError:
print("Error: Invalid input. Please enter valid numbers.")
exit(1)

আমি যদি ভাগ করার সময় ০ দেই তাহলে ভাগ করা সম্ভব না এই জাতীয় সমস্যা সমাধানের জন্য try… except ব্যবহার করতে হয়
try:
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
try:
result = num1 / num2
except ZeroDivisionError:
print("Error: Division by zero is not allowed.")
exit(1)
else:
print("Enter Valid Operator")
exit(1)
except ValueError:
print("Error: Invalid input. Please enter valid numbers.")
exit(1)
