हम Python में एक नया अपवाद वर्ग बनाकर उपयोगकर्ता-परिभाषित या कस्टम अपवाद बनाते हैं। विचार अपवाद वर्ग से कस्टम अपवाद वर्ग प्राप्त करना है। अधिकांश अंतर्निर्मित अपवाद अपने अपवादों को लागू करने के लिए एक ही विचार का उपयोग करते हैं।
दिए गए कोड में, आपने एक उपयोगकर्ता-परिभाषित अपवाद वर्ग, "कस्टम एक्सेप्शन" बनाया है। यह अपवाद वर्ग का उपयोग माता-पिता के रूप में कर रहा है। इसलिए, नया उपयोगकर्ता-परिभाषित अपवाद वर्ग अपवादों को उठाएगा जैसा कि कोई अन्य अपवाद वर्ग करता है यानी वैकल्पिक त्रुटि संदेश के साथ "उठाएं" कथन को कॉल करके।
आइए एक उदाहरण लेते हैं।
इस उदाहरण में, हम दिखाते हैं कि उपयोगकर्ता द्वारा परिभाषित अपवाद को कैसे बढ़ाया जाए और प्रोग्राम में त्रुटियों को कैसे पकड़ा जाए। साथ ही, नमूना कोड में, हम उपयोगकर्ता को बार-बार वर्णमाला दर्ज करने के लिए कहते हैं जब तक कि वह केवल संग्रहीत वर्णमाला में प्रवेश नहीं करता।
मदद के लिए, प्रोग्राम उपयोगकर्ता को एक संकेत प्रदान करता है ताकि वह सही वर्णमाला का पता लगा सके।
#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.")