异常处理中的两个类
URLError 与HTTPError
两者都是异常处理的类,HTTPError是URLError的子类,HTTPError有异常状态码与异常原因,URLError没有异常状态码。所以,在处理的时候,不能使用URLError直接代替HTTPError。如果要代替,必须要判断是否有状态码属性。
URLError:
1.连不上服务器
2.远程的服务不存在
3.本地无网络
4.触发了HTTPError子类
import urllib.error
import urllib.request
try:
data=urllib.request.urlopen("http://blog.youkuaiyun.com").read()
print(len(data))
except urllib.error.HTTPError as e:
if hasattr(e,"code"):
print(e.code)
if hasattr(e,"reason"):
print(e.reason)