python-basic

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

raise

নিচের কোডটি রান করি কোন এরর থাকলে except ব্লকের মধ্যে আমাদের print মেথড টি প্রিন্ট হবে। এক্ষেত্রে যদি আমরা ০ দেই বা অক্ষর দেই তাহলে ওই একটা মেসেজ ই দেখতে পাবো।

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

এবার আমরা আসল এরর টি দেখার জন্য raise ব্যবহার করবো

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

ইনপুট ০ দেয়ার কারণে আসল এরর টি শো করছে :ZeroDivisionError: division by zero

আমরা কি শুধু এইটার জন্য raise ব্যবহার করছি ?
না আমরা কাস্টম মেসেজ দেখানোর জন্য raise ব্যবহার করছি যেমন ডিফল্ট ভাবে ০ এর জন্য মেসেজ শো করছে ZeroDivisionError: division by zero আমরা এটাকে পরিবর্তন করে নিজেদের মতো করে মেসেজ প্রিন্ট করবো।


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

Output

Traceback (most recent call last):
  File "C:\Users\oleetech\Desktop\hello.py", line 10, in <module>
    raise ZeroDivisionError(' give number without 0')
ZeroDivisionError:  give number without 0

এভাবে আমরা ডিফল্ট এরর মেসেজ গুলোকে পরিবর্তন করে কাস্টম এরর মেসেজ শো করাতে পারি।

def divide(a, b):
    if b == 0:
        raise ValueError("Division by zero is not allowed")
    return a / b

try:
    result = divide(10, 0)
except ValueError as e:
    print("Caught an exception:", e)

How can we help?