有没有办法防止 python 中的 "bad connection" 或 "no network" 错误?

Is there a way to prevent the "bad connection" or "no network" error inside python?

我使用 urllib.request 包中的 urlopen 命令,它工作正常。

但是因为它在无限循环中,所以我想考虑可能的“无网络”条件。我不希望我的代码因为这个错误而崩溃。

我尝试了下面的功能,但它不起作用:

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

Error Image

我认为这里的问题是 ValueError 异常。您可能希望为 urllib.HTTPError and/or urllib.URLError 设置一个例外,以捕获您试图避免破坏脚本的错误。

ValueError 用于捕获无效参数,可能不是导致流程中断的原因。