मैं urlopen urllib.request पैकेज से कमांड का उपयोग करता हूं और यह ठीक से काम करता है।

लेकिन क्योंकि यह एक अनंत लूप के अंदर है, इसलिए मैं संभावित "नो नेटवर्क" शर्तों पर विचार करना चाहता हूं। मैं नहीं चाहता कि इस त्रुटि के कारण मेरा कोड टूट जाए।

मैंने नीचे दिए गए फ़ंक्शन की कोशिश की लेकिन यह काम नहीं करता है:

def update():
    try:
        cmd = 'getUpdates'
        resp = urlopen(URL + cmd)
        line = aux_dec2utf8(resp)
        upds = json.loads(line)
        NoM = len(upds['result'])
    except ValueError:
        print('NO NETWORK')    
    return NoM, upds

त्रुटि छवि

1
Soheil yns 31 मार्च 2021, 17:26
2
क्या आपका मतलब यह था: except UrlError:?
 – 
quamrana
31 मार्च 2021, 17:29
मुझे समझ नहीं आया
 – 
Soheil yns
31 मार्च 2021, 17:32
आपको क्या नहीं मिला?
 – 
quamrana
31 मार्च 2021, 17:38
1
क्या आप "ValueError को छोड़कर:" को "UrlError को छोड़कर:" के साथ बदलना चाहते हैं?
 – 
Soheil yns
31 मार्च 2021, 17:40
धन्यवाद यह हल हो गया है
 – 
Soheil yns
31 मार्च 2021, 17:59

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि यहां मुद्दा ValueError अपवाद है। आप उस त्रुटि को पकड़ने के लिए urllib.HTTPError और/या urllib.URLError के लिए एक अपवाद सेट करना चाह सकते हैं जिसे आप अपनी स्क्रिप्ट को तोड़ने से रोकने का प्रयास कर रहे हैं।

ValueError का उपयोग अमान्य तर्क को पकड़ने के लिए किया जाता है और हो सकता है कि प्रवाह को मार नहीं रहा हो।

0
UXOL 31 मार्च 2021, 17:40