我在应用引擎 app.yaml 文件中添加了以下错误处理程序:
error_handlers:
- file: default_error.html
然后我计划用一个强制的 DeadlineExceededError 来测试它
所以我有一个请求处理程序:
class Timeout(webapp.RequestHandler):
def get(self):
count=100
if self.request.get('count'):
count=int(self.request.get('count'))
time.sleep(count)
我调用http://20-social.race-timing-failsafe.appspot.com/timeout?count=100我希望显示我的 default_error.html 文件。
相反,我看到了:
A server error occurred. Please contact the administrator.
这会不会是通过 time.sleep 超过了人为的截止日期造成的。它似乎适用于语法错误情况和“实际”截止日期超出消息(例如,写入数据存储时超时)并且希望超出配额。
是什么原因导致 发生服务器错误。请联系管理员。 消息?它来自哪里?我搜索了google appengine sdk python代码,没有找到。
谢谢。
请您参考如下方法:
该错误消息不是原始的 Google 错误消息,因此看起来您的堆栈中的其他内容正在捕获异常并给出该响应。
只有在您的应用程序中的任何地方都没有捕获到异常时,才会提供默认错误处理程序。
例如,在你开始任何 webapp 的东西之前坚持一个 raise StringError 并看看会发生什么;-)
