पायथन आपको मानक अंतर्निर्मित अपवादों से कक्षाएं प्राप्त करके अपने स्वयं के अपवाद बनाने की भी अनुमति देता है।
यहाँ RuntimeError से संबंधित एक उदाहरण दिया गया है। यहां, एक वर्ग बनाया गया है जिसे RuntimeError से उपवर्गित किया गया है। यह तब उपयोगी होता है जब अपवाद के पकड़े जाने पर आपको अधिक विशिष्ट जानकारी प्रदर्शित करने की आवश्यकता होती है।
कोशिश ब्लॉक में, उपयोगकर्ता द्वारा परिभाषित अपवाद उठाया जाता है और ब्लॉक को छोड़कर पकड़ा जाता है। चर e का उपयोग Networkerror . वर्ग का एक उदाहरण बनाने के लिए किया जाता है ।
class Networkerror(RuntimeError): def __init__(self, arg): self.args = arg
तो एक बार जब आप उपरोक्त वर्ग को परिभाषित कर लेते हैं, तो आप अपवाद को इस प्रकार बढ़ा सकते हैं -
try: raise Networkerror("Bad hostname") except Networkerror,e: print e.args