为了账号安全,请及时绑定邮箱和手机立即绑定

在判断urllib.error的类型时,为什么要判断是否和socket.timeout类型一致?

在判断urllib.error的类型时,为什么要判断是否和socket.timeout类型一致?

ZeroS329 2018-03-29 17:27:53
try:     response = urllib.request.urlopen("http://www.douyu.com", timeout=0.01)     print(response.read()) except urllib.error.HTTPError as e:                    print(e.code) except urllib.error.URLError as e:     if isinstance(e.reason, socket.timeout):           print('Time Out!')主要对socket.timeout不理解,请各位大佬指教
查看完整描述

1 回答

?
习惯受伤

TA贡献885条经验 获得超1144个赞

URLError 中有很多类型的异常,而 socket.timeout 只是其中一种,所以用 isinstance(e.reason, socket.timeout) 来判断,对超时这种异常单独处理
查看完整回答
1 反对 回复 2018-03-29
  • 1 回答
  • 0 关注
  • 1284 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信