码迷,mamicode.com
首页 > Web开发 > 详细

八、urllib库(二)处理异常

时间:2018-06-03 10:43:35      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:结果   原因   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类

 

八、urllib库(二)处理异常

标签:结果   原因   headers   处理   异常   好的   分享图片   返回   继承   

原文地址:https://www.cnblogs.com/Mr-chenshuai/p/9127745.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!