"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन के लॉगिंग मॉड्यूल के साथ कस्टम अपवाद हैंडलिंग को कैसे लागू करें?

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

2025-02-04 को प्रकाशित
ब्राउज़ करें:987

] एक पायथन आवेदन। मैन्युअल रूप से पकड़ने और अपवादों को लॉग करना एक व्यवहार्य दृष्टिकोण है, यह थकाऊ और त्रुटि-प्रवण हो सकता है। यह विस्तृत अपवाद जानकारी को कैप्चर करने और लॉग करने के लिए एक सुविधाजनक और व्यवस्थित तरीका प्रदान करता है। एक कस्टम अपवाद हैंडलर को परिभाषित करके, आप सभी अपवादों को बाधित कर सकते हैं और उन्हें वांछित के रूप में संभाल सकते हैं। यहाँ एक पूर्ण और मजबूत उदाहरण है:

How to Implement Custom Exception Handling with Python\'s Logging Module?

आयात sys आयात लॉगिंग लकड़हारा = लॉगिंग.गेटलॉगर (__ name__) हैंडलर = लॉगिंग.स्ट्रीमहैंडलर (स्ट्रीम = sys.stdout) logger.addhandler (हैंडलर) DEF हैंडल_सिएशन (EXC_TYPE, EXC_VALUE, EXC_TRACEBACK): # Keyboardinterptrupt को अनदेखा करें ताकि एप्लिकेशन Ctrl C के साथ बाहर निकल सके यदि ISSUBCLASS (EXC_TYPE, KEYBORDINTERRUPT): sys .__ Excepthook __ (exc_type, exc_value, exc_traceback) वापस करना # अनचाहे अपवाद को लॉग इन करें logger.error ("अनचाहे अपवाद", exc_info = (exc_type, exc_value, exc_traceback))) sys.excepthook = handel_exception # उदाहरण कोड कस्टम अपवाद हैंडलिंग का परीक्षण करने के लिए यदि __name__ == "__main__": RuntimeError ("टेस्ट अनडंडेड")

स्पष्टीकरण

यह कोड:

जब एक अनियोजित अपवाद होता है।

एप्लिकेशन को इनायत से बाहर निकलने की अनुमति देने के लिए keyboardInterrupt (ctrl c) को अनदेखा करता है। ] Sys.excepthook फ़ंक्शन के लिए कस्टम अपवाद हैंडलर को संलग्न करता है।

import sys
import logging

logger = logging.getLogger(__name__)
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)

def handle_exception(exc_type, exc_value, exc_traceback):
    # Ignore KeyboardInterrupt so the application can exit with Ctrl   C
    if issubclass(exc_type, KeyboardInterrupt):
        sys.__excepthook__(exc_type, exc_value, exc_traceback)
        return

    # Log the uncaught exception
    logger.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))

sys.excepthook = handle_exception

# Example code to test the custom exception handling
if __name__ == "__main__":
    raise RuntimeError("Test unhandled")

विज्ञप्ति वक्तव्य इस लेख को पुन: पेश किया गया है: 1729608201 यदि उल्लंघन है, तो कृपया हटाने के लिए [email protected] पर संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3