কম্পিউটার

পাইথনে ব্যবহারকারী সংজ্ঞায়িত ব্যতিক্রম কীভাবে বাস্তবায়ন করবেন?


আমরা পাইথনে একটি নতুন ব্যতিক্রম ক্লাস তৈরি করে ব্যবহারকারী-সংজ্ঞায়িত বা কাস্টম ব্যতিক্রম তৈরি করি। ধারণাটি হল ব্যতিক্রম ক্লাস থেকে কাস্টম ব্যতিক্রম ক্লাস নেওয়া। বেশিরভাগ অন্তর্নির্মিত ব্যতিক্রম তাদের ব্যতিক্রমগুলি প্রয়োগ করতে একই ধারণা ব্যবহার করে৷

প্রদত্ত কোডে, আপনি একটি ব্যবহারকারী-সংজ্ঞায়িত ব্যতিক্রম ক্লাস তৈরি করেছেন, "CustomException"। এটি অভিভাবক হিসাবে ব্যতিক্রম ক্লাস ব্যবহার করছে। তাই, নতুন ব্যবহারকারী-সংজ্ঞায়িত ব্যতিক্রম শ্রেণী অন্য যেকোন ব্যতিক্রম শ্রেণীর মতো ব্যতিক্রম বাড়াবে, যেমন একটি ঐচ্ছিক ত্রুটি বার্তা সহ “raise” স্টেটমেন্ট কল করে।

একটি উদাহরণ নেওয়া যাক।

এই উদাহরণে, আমরা দেখাই কিভাবে একটি ব্যবহারকারী-সংজ্ঞায়িত ব্যতিক্রম বাড়াতে হয় এবং একটি প্রোগ্রামে ত্রুটিগুলি ধরতে হয়। এছাড়াও, নমুনা কোডে, আমরা ব্যবহারকারীকে বারবার একটি বর্ণমালা লিখতে বলি যতক্ষণ না সে শুধুমাত্র সংরক্ষিত বর্ণমালায় প্রবেশ করে।

সাহায্যের জন্য, প্রোগ্রামটি ব্যবহারকারীকে একটি ইঙ্গিত দেয় যাতে সে সঠিক বর্ণমালা বের করতে পারে।


#Python user-defined exceptions
class CustomException(Exception):
"""Base class for other exceptions"""
pass
class PrecedingLetterError(CustomException):
"""Raised when the entered alphabet is smaller than the actual one"""
pass
class SucceedingLetterError(CustomException):
"""Raised when the entered alphabet is larger than the actual one"""
pass
# we need to guess this alphabet till we get it right
alphabet = 'k'
while True:
try:
foo = raw_input ( "Enter an alphabet: " )
if foo < alphabet:
raise PrecedingLetterError
elif foo > alphabet:
raise SucceedingLetterError
break
except PrecedingLetterError:
print("The entered alphabet is preceding one, try again!")
print('')
except SucceedingLetterError:
print("The entered alphabet is succeeding one, try again!")
print('')
print("Congratulations! You guessed it correctly.")


  1. কিভাবে Python এ OverflowError ব্যতিক্রম ধরবেন?

  2. পাইথনে একটি ব্যতিক্রমে যুক্তি কীভাবে পাস করবেন?

  3. কিভাবে পাইথনে একটি ব্যতিক্রম বাড়াতে?

  4. পাইথনে ব্যবহারকারী সংজ্ঞায়িত ব্যতিক্রম কীভাবে বাস্তবায়ন করবেন?