如何获取DownloadError的详细信息?

时间:2011-09-21 20:39:36

标签: google-app-engine error-handling urlfetch

我执行以下操作:

try:
    result = urlfetch.fetch(url=some_url, 
    ...
except DownloadError:
    self.response.out.write('DownloadError')
    logging.error('DownloadError')                                            
except Error:
    self.response.out.write('Error')
    logging.error('Error')

有没有办法对发生的事情进行更详细的描述?

2 个答案:

答案 0 :(得分:3)

您应该使用logging.exception将异常添加到ERROR日志消息中:

try:
    result = urlfetch.fetch(url=some_url, 
    ...
except DownloadError, exception:
    self.response.out.write('Oops, DownloadError: %s' % exception)
    logging.exception('DownloadError')                                         
except Error:
    self.response.out.write('Oops, Error')
    logging.exception('Error')

答案 1 :(得分:0)

简而言之,没有。下载错误通常是我们经验中的超时 - 后端需要太长时间来响应(第一个字节)。如果它正在接收数据,看起来GAE将等待并在你的10秒钟之后抛出截止日期异常。

永远成功吗?您对如何处理d / l异常的选择将根据后端而有所不同。

如果您采用简单的路线并且只是重试,请注意配额和限制器 - 您的请求确实可能会到达其他系统,而且不会及时回来。很容易以这种方式吹过限制器。

Ĵ

相关问题