কম্পিউটার টিউটোরিয়াল

পাইথন ৩-এ এক্সসেপশন চেইনিংয়ের মানক পদ্ধতি কি


একটি এক্সসেপশন 'A'-র হ্যান্ডলিংয়ের সময়, এটি সম্ভব যে অন্য একটি এক্সসেপশন 'B'~Occur করতে পারে। পাইথন ২.০ ভার্সনগুলিতে, যদি এটি হয়, তবে এক্সসেপশন B আউটওয়ার্ড প্রোপাগেট হয় এবং এক্সসেপশন A হারিয়ে যায়। ডিবাগ করার জন্য দুটি এক্সসেপশন জানা উপকারী।

কখনও কখনও একটি এক্সসেপশন হ্যান্ডলার জানবুঝকেই একটি এক্সসেপশন রি-রেইজ করে, হয় এক্সট্রা ইনফরমেশন দিতে বা একটি এক্সসেপশনকে অন্য টাইপে ট্রান্সলেট করতে। __cause__` অ্যাট্রিবিউট একটি এক্সসেপশনের ডাইরেক্ট কারণ রেকর্ড করার একটি স্পষ্ট পদ্ধতি দেয়।

এক্সসেপশন চেইনিং শুধু পাইথন ৩-এ উপলব্ধ। পাইথন ৩-এ raise ... from` ক্লজ রয়েছে এক্সসেপশন চেইন করতে। আমরা দেওয়া কোডকে raise..from` ক্লজ ব্যবহার করে নিচেরভাবে রি-রাইট করি:

try:
    s = {'a':1, 'b':2}['c']
except KeyError as e:
    raise ValueError('failed') from e

পাইথন ৩ ডিফল্টভাবে এক্সসেপশন হ্যান্ডলিংয়ের সময়~Occur করা সকল এক্সসেপশন দেখাবে, নিচের মত:

Traceback (most recent call last):
  File "source_file.py", line 2, in 
    s = {'a':1, 'b':2}['c']
KeyError: 'c'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "source_file.py", line 4, in 
    raise ValueError('failed') from e
ValueError: failed
  1. পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা

  2. পাইথনে ইটারেশন কার্যকরভাবে ব্যবহার করা

  3. পাইথনে WhatsApp অটোমেশন (WhatsApp using Python)

  4. পাইথনে cx_Freeze ব্যবহার করে এক্সিকিউটেবল বানানো