httperror:当我们向服务器发出请求时,服务器会产生response请求,如果urlopen不能处理则爆出httperror异常
httperror的父类是urlerror异常
urlerror:产生的原因主要是1.网络没有连接,2服务器连接失败,3,找不到指定的服务器。
我认为:httperror时urlerror的详细化的错误异常,url只能粗略的判断异常的原因,而httperror可以 详细的判断异常并返回对应的状态码,可以清楚的知道http此时的状态。
所以常规思路是先使用httperror判断是否是http的问题,后使用urlerror
# 异常处理
from urllib import request,error
try:
response = urllib.request.urlopen('http://www.sjnsjacjaa.com')
except error.HTTPError as e:
print(e.reason,e.code,e.headers,sep='\n') # 使用httperror判断
# 常规思路是先使用httperror判断是否是http的问题,后使用urlerror
except error.URLError as e:
print(e.reason) #使用error中的urlerror,调用error的reason打印报错原因
# httperror:当我们向服务器发出请求时,服务器会产生response请求,如果urlopen不能处理则爆出httperror异常
# httperror的父类是urlerror异常
# urlerror:产生的原因主要是1.网络没有连接,2服务器连接失败,3,找不到指定的服务器。
# 我认为:httperror时urlerror的详细化的错误异常,url只能粗略的判断异常的原因,而httperror可以
# 详细的判断异常并返回对应的状态码,可以清楚的知道http此时的状态。
# 所以常规思路是先使用httperror判断是否是http的问题,后使用urlerror