今天由于某些私人原因,学习时间比较少,学习内容为基础的urllib error。
1、异常处理
一般常用的异常有两个:HTTPError和URLError。
URLError一般出现的情况是没有网络连接 、服务器连接失败、找不到指定的服务器。例子如下:
1 try: 2 url = "https://www.baidu1.com" 3 response = request.urlopen(url) 4 html = response.read().decode("utf-8") 5 print(html) 6 except error.URLError as e: 7 print(e.reason)
结果如下:
错误:域名解析暂时失败。
HTTPError是URLError的子类,它的属性code可以返回一个错误的网页状态码(英文原版),同时urllib 可以为我们处理重定向的页面(也就是 3 开头的响应码),100-299 范围的号码表示成功,所以我们只能看到 400-599 的错误号码。比如常见的HTTP ERROR 404: Not Found错误。
注意:由于HTTPError是URLError的子类,所以要用到两个异常捕获时需要将子类放前,父类放后。这样才能在HTTPError捕获不到异常时,URLError可以捕获。