问题的标题可能有点令人困惑,但我真的不知道如何最好地说出来...... 我发现了以下大量代码,它们通过使用urllib2库从网上下载网页。
import urllib2
def download(url):
try:
html = urllib2.urlopen(url).read()
except urllib2.URLError as e:
print 'Download error:', e.reason
html = None
return html
现在如果发生e.code
是404,那么e.reason
只是一个空字符串,这意味着它绝对没有关于触发错误的内容的信息,因此我真的不明白使用的重点e.reason
在这里。
打印e
似乎更合理,但即使我将其更改为print e
,它仍然会产生一些尴尬:HTTP Error 404:
并且冒号后面是空的串...
所以在我看来,上述代码在异常处理方面有点笨拙。是这样吗?
答案 0 :(得分:0)
如果你想要,你可以使用错误本身(打印e)或代码和原因(打印"下载错误:",e.code,e.reason)看到404代码。