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

पायथन अपवाद लॉगिंग को नहीं पकड़ता है, डिबगिंग कौशल में सुधार करता है

2025-04-18 को पोस्ट किया गया
ब्राउज़ करें:686

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

How to Log Uncaught Exceptions in Python for Enhanced Debugging?

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

यह दृष्टिकोण कई लाभ प्रदान करता है:

विश्लेषण। अतिरिक्त संदर्भ जोड़ना, और वांछित के रूप में अपवादों को फ़िल्टर करना। आयात लॉगिंग लकड़हारा = लॉगिंग.गेटलॉगर (__ name__) हैंडलर = लॉगिंग.स्ट्रीमहैंडलर (स्ट्रीम = sys.stdout) logger.addhandler (हैंडलर) DEF हैंडल_सिएशन (EXC_TYPE, EXC_VALUE, EXC_TRACEBACK): यदि 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 ("टेस्ट अनडैंडेड")

को बढ़ाएं, इस उदाहरण में, UNCAUGHT RUNTIMEERROR को Stdout स्ट्रीम के लिए एक त्रुटि संदेश के रूप में लॉग किया गया है, जो आसान डिबगिंग और विश्लेषण के लिए अनुमति देता है। इस दृष्टिकोण को विभिन्न गंतव्यों, जैसे फ़ाइलों या डेटाबेस में अपवाद लॉगिंग को रीडायरेक्ट करने के लिए लकड़हारा ऑब्जेक्ट में विभिन्न हैंडलर को जोड़कर आगे बढ़ाया जा सकता है। बिना किसी अपवाद हैंडलिंग के लिए लॉगिंग का प्रभावी ढंग से उपयोग करके, डेवलपर्स डिबगिंग क्षमताओं को बढ़ा सकते हैं और अनुप्रयोग रखरखाव को सुव्यवस्थित कर सकते हैं।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3