try:
response = urllib2.urlopen(req)
except Exception, e:
logger.exception(e)
是否有任何令人信服的论点反对在此代码段中捕获 Exception 而不是 urllib2.URLError ?
请您参考如下方法:
可能有意想不到的原因导致此处出现您不知道或无法知道的异常。您编写程序时好像这里唯一的异常可能是 urllib2.URLError,然后有一天 urllib2 的内部产生了一个异常,而这不是其中之一.它可能是一个错误,它可能只在满月时发生,它可能是你从未设计过的一些 future 品牌的异常(exception)。
如果发生这些情况,您真的想继续畅通无阻吗?
更一般地说,您捕获的异常类型是程序逻辑的组成部分。如果您不够具体,就会出现逻辑错误,故事结束 — 就像您从 if 语句中遗漏了一个子句一样。
