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

পাইথনে ইউজার-ডিফাইনড এক্সসেপশন (User-Defined Exceptions)

পাইথন আপনাকে স্ট্যান্ডার্ড বিল্ট-ইন এক্সসেপশন থেকে ডেরাইভ করে নিজস্ব এক্সসেপশন তৈরি করার অনুমতি দেয়।

এখানে RuntimeError-এর সাথে সম্পর্কিত একটি উদাহরণ। এখানে একটি ক্লাস তৈরি করা হয়েছে যা RuntimeError-র সাবক্লাস। এটি তখন উপকারী যখন এক্সসেপশন ক্যাচ করার সময় আরও স্পেসিফিক তথ্য দেখাতে চান।

try ব্লকে ইউজার-ডিফাইনড এক্সসেপশন raised করা হয় এবং except ব্লকে caught করা হয়। ভেরিয়েবল e ক্লাস Networkerror-এর একটি ইনস্ট্যান্স তৈরি করতে ব্যবহৃত হয়।

class Networkerror(RuntimeError):
    def __init__(self, arg):
        self.args = arg

উপরোক্ত ক্লাস ডিফাইন করার পর আপনি এক্সসেপশন raise করতে পারেন:

try:
    raise Networkerror("Bad hostname")
except Networkerror, e:
    print e.args
  1. পাইথনে ইনহেরিটেন্স (Inheritance)

  2. পাইথনে ক্লাস মেথড বনাম স্ট্যাটিক মেথড

  3. পাইথনে ফার্স্ট-ক্লাস ফাংশন (First Class Functions)

  4. পাইথনে কংক্রিট এক্সসেপশন (Concrete Exceptions)