标签:结果 原因 headers 处理 异常 好的 分享图片 返回 继承
处理异常
urllib的error模块定义了由request模块产生的异常
1、URLError
URLError类来自urllib库的error模块,继承自OSError类,是error异常模块的基类,由request模块产生的异常都可以通过捕获这个类来处理
它具有一个属性:reason,返回的错误原因
打开一个不存在的网页,应该是会报错的,但是我们捕获了URLError异常,程序没有报错,而是输出了错误内容
2、HTTPError
它是URLError的子类,专门处理HTTP请求错误,有3个属性
code:返回HTTP状态码
reason:同父类一样,返回错误的原因
headers:返回请求头
输出结果
由于URLError是HTTPError的父类,所有可以先捕获子类的错误,再捕获父类的错误,上面代码更好的写法:
这样就可以先捕获到HTTPError,如果不是HTTPError异常,就捕获URLError异常
reason有时候返回的不是一个字符串,可能是一个对象
reason属性是结果是socket.timeout类
标签:结果 原因 headers 处理 异常 好的 分享图片 返回 继承
原文地址:https://www.cnblogs.com/Mr-chenshuai/p/9127745.html