requests.exceptions.ProxyError और urllib3.exceptions.ProxyError अलग-अलग exception क्लास हैं। एक ही छोटा नाम होने से एक except क्लॉज़ दोनों को नहीं पकड़ती।

Requests कॉल के लिए सार्वजनिक Requests exception API से शुरू करें। इसका ट्रांसपोर्ट अडैप्टर आम तौर पर निचले स्तर की विफलताओं को Requests द्वारा दिखाए गए exceptions में बदलता है। पुराने संस्करणों में विशिष्ट रैपिंग बग थे, इसलिए अप्रत्याशित traceback के साथ लाइब्रेरी का संस्करण सहेजें।

जाँच करते समय exception का मॉड्यूल, क्लास और श्रृंखलाबद्ध कारण देखें। अंदरूनी MaxRetryError या कनेक्शन विफलता पिछले प्रॉक्सी चरण के बारे में उपयोगी साक्ष्य रख सकती है।

किसी ऐतिहासिक समाधान से आने वाले पुराने vendored पथ को आधुनिक एप्लिकेशन में आयात करने से बचें। वर्तमान कॉल के लिए उपयुक्त सार्वजनिक exception पकड़ें, निदान के लिए कारण सुरक्षित रखें और पुनः प्रयास का व्यवहार अलग से तय करें। हर Exception पकड़कर अनंत काल तक चलते रहना केवल मूल असंगति को छिपाता है।

संबंधित लेख