🐍
পাইথন বেসিক
  • পরিচিতি
  • ইনস্টলেশন
  • ব্যাসিক কনসেপ্ট
    • পাইথন এর জন্য সেটআপ visual studio code
    • প্রথম প্রোগ্রাম রান করি
    • print ফাংশন
      • প্রিন্ট ফাংশনের প্যারামিটার
    • Comment
      • DocString
      • comment এবং docstring এর পার্থক্য
    • আইডেন্টিফাইয়ারস
  • স্ট্রিং (Strings)
  • ভেরিয়েবল
    • কন্সট্যান্টস (constants)
  • String Formating
  • ব্যবহারকারীর ইনপুট (user input)
  • Python Statement
  • indentation
  • ডেটা টাইপ
    • টাইপ কনভারশন
    • List
  • Python Operator
    • Arithmetic Operators
    • Comparison Operators
    • Logical Operators
    • Identity Operators
    • Membership Operators
    • Assignment Operator
  • Python Flow Control
    • if,else স্টেটমেন্ট
  • ফাংশন
  • ব্যক্তিগত ফাংশন
  • for লুপ
  • while লুপ
  • পাইথন মডিউল (Python module)
    • মডিউল ইম্পোর্ট করা (import Module )
      • Import from another folder
  • পাইথন প্যাকেজ ইনস্টল
  • প্যাকেজ তৈরি
  • এক্সেপশন হ্যান্ডেলিং
  • PIP
  • ফাইল হ্যান্ডেলিং
  • Databse
    • sqlite3
  • PrettyTable
  • Print Coloured Text At Python
Powered by GitBook
On this page

এক্সেপশন হ্যান্ডেলিং

Previousপ্যাকেজ তৈরিNextPIP

Last updated 1 year ago

নিচের প্রোগ্রামটি রান করলে যদি ইনপুট হিসাবে ০ দেই তাহলে ০ দ্বারা কোন কিছু ভাগ হয়না যার কারণে প্রোগ্রামটি থেমে যাবে পরের প্রিন্ট স্টেটমেন্টটি print('Yes You Are Success') রান হবে না।

roll = int(input("Enter Number:"))

print(10/roll)

print('Yes You Are Success')

আমরা চাই আমাদের প্রোগ্রাম এ যদি কোন এরর আসে তাহলে পরের লাইনের কোড যেন বন্ধ না হয় এজন্য try except ব্লক ব্যবহার করি

try:
    roll = int(input("Enter Number :"))

    print(10/roll)
except ZeroDivisionError:
    print('0 is not devide')


print('Yes You Are Success')

মনে করুন, আপনি একটি ক্যালকুলেটর প্রোগ্রাম লেখতে যাচ্ছেন যেখানে ব্যবহারকারী দুটি সংখ্যা এবং একটি অপারেটর ইনপুট দেয় (+,-,*,/)।


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)