मजबूत और रखरखाव योग्य एप्लिकेशन बनाने के लिए प्रभावी अपवाद हैंडलिंग कोड लिखना आवश्यक है।
पायथन में अपवाद हैंडलिंग कोड लिखने के लिए कुछ सर्वोत्तम अभ्यास नीचे दिए गए हैं:
विशिष्ट रहो:
try: # Code that might raise an exception except ValueError as e: print(f"Value error occurred: {e}")
विशिष्ट अपवाद पकड़ें:
try: # Code that might raise an exception except Exception as e: # Catch all exceptions if necessary print(f"An error occurred: {e}")
try: # Code that might raise an exception except ValueError as e: print(f"Value error: {e}") else: print("No exceptions occurred.") finally: print("This will always be executed.")
import logging logging.basicConfig(level=logging.ERROR) try: # Code that might raise an exception except Exception as e: logging.error(f"An error occurred: {e}")
try: # Code that might raise an exception except ValueError as e: logging.error(f"Value error: {e}") raise # Re-raise the exception
with open('file.txt', 'r') as file: content = file.read()
-अपने एप्लिकेशन को क्रैश होने की अनुमति देने के बजाय, फ़ॉलबैक तंत्र या उपयोगकर्ता-अनुकूल त्रुटि संदेश प्रदान करें।
try: with open('config.json', 'r') as file: config = json.load(file) except FileNotFoundError: print("Config file not found, using defaults.") config = {"default": "value"}
try: # Code that might raise an exception except Exception as e: pass # Bad practice - you're ignoring the error
def divide(a, b): """ Divides two numbers. :param a: Numerator. :param b: Denominator. :return: The result of the division. :raises ZeroDivisionError: If the denominator is zero. """ if b == 0: raise ZeroDivisionError("Cannot divide by zero.") return a / b
class InvalidInputError(Exception): """Exception raised for invalid inputs.""" pass def process_input(value): if not isinstance(value, int): raise InvalidInputError("Input must be an integer.") return value * 2
def test_divide(): assert divide(10, 2) == 5 with pytest.raises(ZeroDivisionError): divide(10, 0)
असाधारण मामलों के लिए अपवादों का उपयोग करें:
# Bad practice: using exceptions for control flow try: while True: value = next(iterator) except StopIteration: pass # End of iteration
try: result = process_input(input_value) except InvalidInputError as e: raise ValueError("Failed to process input") from e
इन सर्वोत्तम प्रथाओं का पालन करके, आप अधिक मजबूत, रखरखाव योग्य और पठनीय अपवाद हैंडलिंग कोड लिख सकते हैं जो त्रुटियों को खूबसूरती से प्रबंधित करता है और आपके एप्लिकेशन की विश्वसनीयता को बढ़ाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3