快捷导航

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

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

URLError 中有很多类型的异常,而socket.timeout 只是其中一种,所以用isinstance(e.reason, socket.timeout) 来判断,对超时这种异常单独处理
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP