URLError 和 HTTPError异常
一、URLError
URLError 产生的原因主要有:
没有网络连接 、服务器连接失败、找不到指定的服务器
我们可以用 try except 语句来捕获相应的异常。比如访问了一个不存在的
域名,try-except捕获的URLError异常错误代号是 11004:没有获取到一个有效的网址服务器地址。
2、HTTPError
HTTPError 是 URLError 的子类,我们发出一个请求时,服务器上都会对应一个 response
应答对象,其中它包含一个数字"响应状态码"。
如果 urlopen 或 opener.open 不能处理的,会产生一个 HTTPError,对应相应的状态码,
HTTP 状态码表示 HTTP 协议所返回的响应的状态。
注意,urllib 可以为我们处理重定向的页面(也就是 3 开头的响应码),100-299 范围的
号码表示成功,所以我们只能看到 400-599 的错误号码。
由于 HTTPError 的父类是 URLError,所以父类的异常应当写到子类异常的后面,所以如果需要写这两个异常的话,应当先写HTTPError,再写URLError。这样就可以先捕获子类异常,子类异常捕获不到时捕获父类异常