一 URLError
1 代码
'''
URLError类来自urllib库的error模块,它继承自OSError类,是error异常模块的基类,
由request模块生的异常都可以通过捕获URLError类来处理。
它具有一个属性reason,即返回错误的原因。
'''
from urllib import request, error
try:
response = request.urlopen('http://cuiqingcai.com/index.htm')
except error.URLError as e:
print(e.reason)
2 运行结果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/3_1_2.py
Not Found
3 说明
程序没有直接报错,而是输出了如上内容,这样通过如上操作,我们就可以避免程序异常终止,同时异常得到了有效处理。
二 HTTPError
1 点睛
HTTPError是URLError的子类,专门用来处理HTTP请求错误,比如认证请求失败等。它有如下3个属性。
-
code:返回HTTP状态码,比如404表示网页不存在,500表示服务器内部错误等。
-
reason:同父类一样,用于返回错误的原因。
-
headers:返回请求头。
2 实战一代码