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

পাইথনে NotImplementedError এক্সসেপশন ক্যাচ করা


ইউজার-ডিফাইনড বেস ক্লাসগুলো NotImplementedError রেইজ করতে পারে একটি মেথড বা বিহেভিয়ার সাবক্লাসে ডিফাইন করা দরকার তা নির্দেশ করতে, একটি ইন্টারফেস সিমুলেট করে। এই এক্সসেপশন RuntimeError-এর থেকে ডেরাইভ করা। ইউজার ডিফাইনড বেস ক্লাসে, অ্যাবস্ট্রাক্ট মেথডগুলো এই এক্সসেপশন রেইজ করা উচিত যখন সেগুলো ডেরাইভড ক্লাসকে মেথড ওভাররাইড করতে চায়।

উদাহরণ

import sys
try:
    class Super(object):
        @property
        def example(self):
            raise NotImplementedError("Subclasses should implement this!")
    s = Super()
    print(s.example)
except Exception as e:
    print(e)
    print(sys.exc_type)

আউটপুট

Subclasses should implement this!
<type 'exceptions.NotImplementedError'>
  1. পাইথনে IOError এক্সসেপশন ক্যাচ করা

  2. পাইথনে ম্যানুয়ালি এক্সসেপশন থ্রো/রেইজ করা

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

  4. পাইথনে KeyError এক্সসেপশন ক্যাচ করা