अपवाद प्रबंधन के लिए पायथन में अपवाद फेंकना

Python

पायथन में एक्सेप्शन हैंडलिंग को समझना

पायथन में, अपवाद किसी प्रोग्राम के निष्पादन के दौरान होने वाली त्रुटियों और असाधारण मामलों से निपटने के लिए एक शक्तिशाली उपकरण है। अपवादों को मैन्युअल रूप से बढ़ाकर, डेवलपर्स विशिष्ट समस्याओं की घटना का संकेत दे सकते हैं और अपने अनुप्रयोगों के प्रवाह को अधिक प्रभावी ढंग से प्रबंधित कर सकते हैं।

यह मार्गदर्शिका पायथन में अपवादों को मैन्युअल रूप से बढ़ाने की प्रक्रिया का पता लगाएगी, जिससे आप यह समझ सकेंगे कि अपने कोड के भीतर त्रुटि-हैंडलिंग तंत्र को कैसे नियंत्रित किया जाए। अपवादों का उचित उपयोग आपके पायथन कार्यक्रमों की मजबूती और पठनीयता को बढ़ा सकता है।

आज्ञा विवरण
raise पायथन में अपवाद को मैन्युअल रूप से ट्रिगर करने के लिए उपयोग किया जाता है।
try निष्पादित करते समय त्रुटियों का परीक्षण करने के लिए कोड के एक ब्लॉक को परिभाषित करता है।
except ट्राई ब्लॉक में होने वाले अपवादों को पकड़ता है और संभालता है।
else यदि प्रयास ब्लॉक में कोई अपवाद नहीं उठाया गया है तो कोड का एक ब्लॉक निष्पादित करता है।
ValueError एक अंतर्निहित अपवाद तब उठाया जाता है जब किसी फ़ंक्शन को सही प्रकार का लेकिन अनुचित मान का तर्क प्राप्त होता है।
__init__ किसी वर्ग की विशेषताओं को आरंभ करता है, जिसका उपयोग आमतौर पर कस्टम अपवादों को परिभाषित करने में किया जाता है।

अपवाद हैंडलिंग स्क्रिप्ट की विस्तृत व्याख्या

पहले स्क्रिप्ट उदाहरण में, function दर्शाता है कि इसका उपयोग करके मैन्युअल रूप से अपवाद कैसे उठाया जाए आज्ञा। यदि भाजक शून्य है, फ़ंक्शन a बढ़ाता है ValueError एक कस्टम संदेश के साथ "शून्य से विभाजित नहीं किया जा सकता!" यह प्रभावी रूप से फ़ंक्शन के निष्पादन को रोक देता है और नियंत्रण को स्थानांतरित कर देता है ब्लॉक, जो तर्कों के साथ फ़ंक्शन को कॉल करने का प्रयास करता है और . जब अपवाद उठाया जाता है, तो नियंत्रण को पास कर दिया जाता है except ब्लॉक, जो पकड़ता है और त्रुटि संदेश प्रिंट करता है। यदि कोई अपवाद नहीं उठाया गया है, तो ब्लॉक विभाजन के परिणाम को प्रिंट करते हुए निष्पादित करेगा।

दूसरी स्क्रिप्ट में एक कस्टम अपवाद वर्ग शामिल है जो कि Python के बिल्ट-इन से विरासत में मिला है कक्षा। विधि एक मान के साथ अपवाद को प्रारंभ करती है, और __str__ विधि त्रुटि का एक स्ट्रिंग प्रतिनिधित्व लौटाती है। कार्यक्रम यदि इनपुट होता है तो यह कस्टम अपवाद उठाता है नकारात्मक है. में ब्लॉक, फ़ंक्शन को कॉल किया जाता है -5, जो बढ़ाता है और नियंत्रण को स्थानांतरित कर देता है ब्लॉक करें, जहां त्रुटि संदेश मुद्रित होता है। यदि कोई अपवाद नहीं होता है, तो ब्लॉक पुष्टि करता है कि संख्या सकारात्मक है।

पायथन में अपवाद कैसे बढ़ाएं और संभालें

पायथन प्रोग्रामिंग उदाहरण

# Function to demonstrate raising an exception
def divide_numbers(a, b):
    if b == 0:
        raise ValueError("Cannot divide by zero!")
    return a / b

# Main block to catch the exception
try:
    result = divide_numbers(10, 0)
except ValueError as e:
    print(f"Error: {e}")
else:
    print(f"Result: {result}")

पायथन अनुप्रयोगों में कस्टम अपवाद हैंडलिंग

कस्टम अपवाद कक्षाओं के साथ पायथन

# Defining a custom exception
class NegativeNumberError(Exception):
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return f"Negative numbers are not allowed: {self.value}"

# Function to demonstrate raising a custom exception
def check_positive_number(n):
    if n < 0:
        raise NegativeNumberError(n)
    return n

# Main block to catch the custom exception
try:
    number = check_positive_number(-5)
except NegativeNumberError as e:
    print(f"Error: {e}")
else:
    print(f"Number is positive: {number}")

पायथन में उन्नत अपवाद हैंडलिंग तकनीकें

मानक और कस्टम अपवादों को बढ़ाने और संभालने के अलावा, पायथन अपवाद प्रबंधन के लिए कई उन्नत तकनीकें प्रदान करता है जो जटिल अनुप्रयोगों में बहुत उपयोगी हो सकती हैं। ऐसी ही एक तकनीक का उपयोग है अवरोध पैदा करना। ब्लॉक डेवलपर्स को कुछ कोड निष्पादित करने की अनुमति देता है, भले ही कोई अपवाद हुआ हो। यह संसाधन प्रबंधन कार्यों के लिए विशेष रूप से उपयोगी हो सकता है, जैसे फ़ाइलें बंद करना या नेटवर्क कनेक्शन जारी करना। यह सुनिश्चित करके कि महत्वपूर्ण क्लीनअप कोड हमेशा निष्पादित किया जाता है, आप अपने एप्लिकेशन को अधिक मजबूत बना सकते हैं और संसाधन लीक को रोक सकते हैं।

एक अन्य उन्नत सुविधा का उपयोग करके अपवादों को श्रृंखलाबद्ध करने की क्षमता है कीवर्ड. जब आप कोई अपवाद उठाते हैं, तो आप एक अन्य अपवाद प्रदान कर सकते हैं जिसके कारण यह हुआ, एक स्पष्ट कारण-और-प्रभाव श्रृंखला बना सकते हैं। यह डिबगिंग के लिए बेहद उपयोगी है, क्योंकि यह त्रुटियों के अनुक्रम के बारे में अधिक संदर्भ प्रदान करता है। इसके अतिरिक्त, पायथन के संदर्भ प्रबंधकों का उपयोग किया जाता है कथन, संसाधनों को अधिक प्रभावी ढंग से प्रबंधित करने में मदद कर सकता है। संदर्भ प्रबंधक स्वचालित रूप से सेटअप और टियरडाउन प्रक्रियाओं को संभालते हैं, यह सुनिश्चित करते हुए कि निष्पादन के दौरान कोई त्रुटि होने पर भी संसाधनों को ठीक से प्रबंधित किया जाता है।

  1. मैं पायथन में कस्टम अपवाद कैसे बढ़ाऊं?
  2. आप विरासत में मिले नए वर्ग को परिभाषित करके एक कस्टम अपवाद बढ़ा सकते हैं और का उपयोग कर रहा हूँ उस वर्ग के उदाहरण के साथ कथन।
  3. का उद्देश्य क्या है अवरोध पैदा करना?
  4. ब्लॉक का उपयोग उस कोड को निष्पादित करने के लिए किया जाता है जिसे चलना चाहिए चाहे कोई अपवाद उठाया गया हो या नहीं, अक्सर सफाई कार्यों के लिए उपयोग किया जाता है।
  5. मैं पायथन में अपवादों की श्रृंखला कैसे बना सकता हूँ?
  6. आप इसका उपयोग करके अपवादों को श्रृंखलाबद्ध कर सकते हैं कीवर्ड, जो आपको मूल अपवाद के संदर्भ को संरक्षित करते हुए एक नया अपवाद बढ़ाने की अनुमति देता है।
  7. पायथन में एक संदर्भ प्रबंधक क्या है?
  8. संदर्भ प्रबंधक का उपयोग करके संसाधनों को प्रबंधित करने का एक तरीका है यह सुनिश्चित करने के लिए कथन कि सेटअप और टियरडाउन कोड ठीक से निष्पादित किया गया है।
  9. मैं एक ही ब्लॉक में एकाधिक अपवादों को कैसे संभाल सकता हूँ?
  10. आप एक ही समय में अनेक अपवादों को संभाल सकते हैं अपवाद प्रकारों का एक टुपल निर्दिष्ट करके ब्लॉक करें।
  11. क्या मैं एक ब्लॉक से सभी अपवाद पकड़ सकता हूँ?
  12. हाँ, आप बेअर का उपयोग करके सभी अपवादों को पकड़ सकते हैं कथन, लेकिन आम तौर पर इसकी अनुशंसा नहीं की जाती क्योंकि यह बग छिपा सकता है।
  13. यदि कोई अपवाद नहीं पकड़ा गया तो क्या होगा?
  14. यदि कोई अपवाद नहीं पकड़ा जाता है, तो यह कॉल स्टैक तक फैल जाता है और अंततः ट्रेसबैक प्रदर्शित करते हुए प्रोग्राम को समाप्त कर देगा।
  15. मैं पायथन में अपवाद कैसे लॉग करूं?
  16. आप इसका उपयोग करके अपवाद लॉग कर सकते हैं मॉड्यूल, जो लचीली लॉगिंग सुविधाएं प्रदान करता है।
  17. के बीच क्या अंतर है और ?
  18. जबकि स्थितियों की जांच करने के लिए डिबगिंग उद्देश्यों के लिए उपयोग किया जाता है सामान्य निष्पादन के दौरान अपवादों को मैन्युअल रूप से फेंकने के लिए उपयोग किया जाता है।

त्रुटियों को शालीनता से संभालने और मजबूत कोड निष्पादन सुनिश्चित करने के लिए पायथन में अपवादों को मैन्युअल रूप से बढ़ाना एक महत्वपूर्ण कौशल है। अंतर्निहित और कस्टम अपवादों का लाभ उठाकर, डेवलपर्स अधिक पठनीय और रखरखाव योग्य प्रोग्राम बना सकते हैं। उन्नत तकनीकों को समझना, जैसे अपवादों की श्रृंखला बनाना और संदर्भ प्रबंधकों का उपयोग करना, त्रुटि प्रबंधन को और बढ़ाता है। उचित अपवाद प्रबंधन न केवल प्रोग्राम की विश्वसनीयता में सुधार करता है बल्कि डिबगिंग और संसाधन प्रबंधन में भी सहायता करता है।