2012-01-29 17 views
26

पायथन लाइब्रेरी अनुरोधों के साथ अपवादों को कैसे संभालें? उदाहरण के लिए इंटरनेट से कनेक्ट पीसी कैसे जांचें?पायथन अनुरोध अपवाद हैंडलिंग

जब मैं

try: 
    requests.get('http://www.google.com') 
except ConnectionError: 
    # handle the exception 

कोशिश यह मुझे त्रुटि नाम ConnectionError देता परिभाषित नहीं है

+0

अपवाद आप को संभालने के लिए कोशिश कर रहे हैं की ट्रैस बैक शामिल करें। – AdamKG

उत्तर

58

मान लिया जाये कि तुमने किया था import requests, आप requests.ConnectionError चाहते हैं। ConnectionError एक अपवाद है जिसे requests द्वारा परिभाषित किया गया है। यहां API documentation देखें।

+2

स्पष्टता के लिए, यह है: 'अनुरोधों को छोड़कर। कनेक्शन त्रुटि:', अनुरोध आयात नहीं करें। कनेक्शन त्रुटि ' – StackG

+0

@StackG अतिरिक्त स्पष्टता के लिए धन्यवाद, मैं कक्षा को सीधे आयात करने की कोशिश कर रहा था। – Jazzepi

5
स्पष्टता के लिए

, कि

except requests.ConnectionError: 

नहीं

है
import requests.ConnectionError 

 

तुम भी

except Exception: 
साथ (हालांकि यह अनुशंसित नहीं है) एक सामान्य अपवाद पकड़ कर सकते हैं
1

असल में, requests.get()ConnectionError से उत्पन्न हो सकते हैं कि बहुत अधिक अपवाद हैं। यहाँ कुछ मैं उत्पादन में देखा है कर रहे हैं:

from requests import ReadTimeout, ConnectTimeout, HTTPError, Timeout, ConnectionError try: r = requests.get(url, timeout=6.0) except (ConnectTimeout, HTTPError, ReadTimeout, Timeout, ConnectionError): continue