问题描述
我使用 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
解决方法
我认为这里的问题是 ValueError 异常。您可能希望为 urllib.HTTPError 和/或 urllib.URLError 设置异常以捕获您试图避免破坏脚本的错误。
ValueError 用于捕获无效参数,可能不是导致流程中断的原因。