python-basic

⌘K
  1. Home
  2. Docs
  3. python-basic
  4. assert

assert

এর আগে আমরা এক্সেপশন গুলো ডিফল্ট মেসেজ ও raise ব্যবহার করে কাস্টম মেসেজ শো করেছি কিন্তু একটা জিনিস কি লক্ষ্য করেছি যে কোডে কোন এরর আসলে ওই মেসেজ গুলোই শো করছে কিন্তু আসলে কোথায় এরর তা শো করছে না। কোড ডিবাগিং করার জন্য assert ব্যবহার করা হয় অর্থাৎ ৫ টি স্টেটমেন্ট আছে তার মধ্যে যেগুলোতে এরর নেই ঐগুলো execute হবে আর অন্য গুলো হবে না যার দ্বারা খুব সহজেই সব গুলো এরর দেখতে পারবো।

try:
    number = int(input('Inter Enput' ))
    print('dfg')
    gpa = 40/number
except :
    print(' give correct input')
    raise ZeroDivisionError(' give number without 0')

Output : আমাদের print() স্টেটমেন্ট কিন্তু প্রিন্ট হয় নি

Traceback (most recent call last):
  File "c:\Users\oleetech\Desktop\hello.py", line 10, in <module>
Result: 5.0
    result = divide(10, 0)  # This will raise an AssertionError because b is zero
             ^^^^^^^^^^^^^
  File "c:\Users\oleetech\Desktop\hello.py", line 4, in divide
    assert b != 0, "Division by zero is not allowed"
AssertionError: Division by zero is not allowed

এবার আমাদের যে ভ্যালু গুলো এরর হতে পারে তার পূর্বে assert যোগ করে দেই।

try:
  number = int(input('Inter Enput' ))
  print('dfg')
  assert 40/number
except :
  print(' give correct input')
  raise

আমাদের প্রিন্ট স্টেটমেন্ট প্রিন্ট হয়েছে যেহেতু আমাদের কোড এ দুইটি স্টেটমেন্ট আছে একটি প্রিন্ট আরেকটি ভাগ করার জন্য তাই এরর আমরা দেখতে পাচ্ছি।

আরেকটি উদাহরণ দেখি

def divide(a, b):
    assert b != 0, "Division by zero is not allowed"
    return a / b

result = divide(10, 2)  # This will work fine because b is not zero
print("Result:", result)

result = divide(10, 0)  # This will raise an AssertionError because b is zero
print("Result:", result)

Output:

Traceback (most recent call last):
  File "c:\Users\oleetech\Desktop\hello.py", line 11, in <module>
Result: 5.0
    result = divide(10, 0)  # This will raise an AssertionError because b is zero
             ^^^^^^^^^^^^^
  File "c:\Users\oleetech\Desktop\hello.py", line 5, in divide
    assert b != 0, "Division by zero is not allowed"
AssertionError: Division by zero is not allowed

How can we help?