शुरू करेंमुफ़्त में शुरू करें

Exceptions को कैच करना

अपनी कस्टम exceptions लिखने से पहले, आइए सुनिश्चित करें कि आप exception handling की बुनियाद अच्छी तरह समझते हैं।

इस अभ्यास में आपको एक फंक्शन invert_at_index(x, ind) दिया गया है जो दो आर्ग्युमेंट लेता है: एक लिस्ट x और एक इंडेक्स ind, और उस इंडेक्स पर मौजूद एलिमेंट का उलटा (inverse) निकालता है। उदाहरण के लिए, invert_at_index([5,6,7], 0) 1/5 या 0.2 लौटाता है।

आपका लक्ष्य है कि जो error घटित हो, उसके प्रकार के आधार पर कस्टम exceptions उठाने के लिए उपयुक्त error-handling लागू करें।

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Object-Oriented Programming परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

फंक्शन के अंदर दो except ब्लॉक्स के साथ try - except - except पैटर्न का उपयोग करके नीचे दिए गए दो exceptions को कैच और हैंडल करें:

  • try में कोड यथावत चलाएँ और 1/x[ind] लौटाएँ।
  • अगर ZeroDivisionError हो, तो "Cannot divide by zero!" प्रिंट करें,
  • अगर IndexError हो, तो "Index out of range!" प्रिंट करें।

आप जान जाएँगे कि समाधान सही है अगर कोड बिना errors के चलता है, और कंसोल में आउटपुट यह आता है:

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Modify the function to catch exceptions
def invert_at_index(x, ind):
  ____:
    return 1/x[ind]
  _____:
    print("____")
  ____:
    print("____")
 
a_list = [5,6,0,7]

# Works okay
print(invert_at_index(a_list, 1))

# Potential ZeroDivisionError
print(invert_at_index(a_list, 2))

# Potential IndexError
print(invert_at_index(a_list, 5))
कोड संपादित करें और चलाएँ