有没有办法防止 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 用于捕获无效参数,可能不是导致流程中断的原因。
我使用 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 用于捕获无效参数,可能不是导致流程中断的原因。