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

পাইথনে এক্সসেপশন একটি অবজেক্ট কিভাবে ব্যাখ্যা করবেন


হ্যাঁ, দেওয়া কোডে err` একটি এক্সসেপশন অবজেক্ট।

পাইথনে সবকিছুই একটি অবজেক্ট। এবং প্রতিটি অবজেক্টের অ্যাট্রিবিউট এবং মেথড থাকে। তাই এক্সসেপশনগুলিও লিস্ট, ফাংশন, টাপল ইত্যাদির মতো অবজেক্ট। তাই এক্সসেপশনগুলোরও অ্যাট্রিবিউট থাকে অন্য অবজেক্টের মতো। এই অ্যাট্রিবিউটগুলো সেট এবং অ্যাক্সেস করা যায় নিচেরভাবে। Exception` নামে একটি বেস ক্লাস রয়েছে যার প্রায় সব অন্যান্য এক্সসেপশন সাবক্লাস। যদি e` একটি এক্সসেপশন অবজেক্ট হয়, তবে e.args` এবং e.message` এর অ্যাট্রিবিউট।

বর্তমান পাইথন ইমপ্লিমেন্টেশনে, এক্সসেপশন তিনটি পার্ট দিয়ে গঠিত: টাইপ, ভ্যালু, এবং ট্রেসব্যাক। sys` মডিউল, বর্তমান এক্সসেপশন অবজেক্টকে তিনটি ভেরিয়েবলে বর্ণনা করে: exc_type, exc_value, এবং exc_traceback`।

sys.exc_info() ফাংশন এই তিনটি অ্যাট্রিবিউটের টাপল রিটার্ন করে, এবং raise` স্টেটমেন্টের থ্রি-আর্গুমেন্ট ফর্ম এই তিনটি পার্ট গ্রহণ করে।

দেওয়া কোড নিচের আউটপুট দেয়:

(<type 'exceptions.ValueError'>, ValueError('could not convert string to int: Godzilla!',), <traceback object at 0x0000000002E33748>)
  1. পাইথনে এক্সসেপশন উপেক্ষা করার সঠিক পদ্ধতি

  2. পাইথনে এক্সসেপশনে আর্গুমেন্ট পাস করা

  3. পাইথনে raise কীওয়ার্ড দিয়ে এক্সসেপশন রেইজ করা

  4. পাইথনে ফাংশন এক্সেপশন থ্রো করে কিনা টেস্ট করার পদ্ধতি