urllib.error模块定义了由request模块产生的异常,如果出现异常,error模块会抛出相应的错误
URLerror类来自于urllib库的error模块,它继承自OSEerror类,是error异常模块的基类,由request模块产生的异常都可以通过这个类来处理
它具有reason属性
即可以通过error.URlerror.reason来查看
因为URlError是HTTPerror的父类
所以可以先捕获子类的错误,再去捕获父类的错误
先except error.HTTPError
再except error.URlError
还可以通过reason(具体原因) code(http状态码) headers(返回请求头)
有时 reason 也不一定是字符串 也可能是个错误对象 比如timeout