gpt4 book ai didi

python - 如何使用谷歌应用引擎处理异常

转载 作者:行者123 更新时间:2023-11-28 19:26:18 25 4
gpt4 key购买 nike

我已经使用 GAE 一年多了,对我来说最难处理的事情之一是我写得很好的代码偶尔会因为 GAE 问题而引发异常。

对于未处理的异常,我已经有了一个不错的程序。我的自定义请求处理程序提供了一个不错的错误页面,管理员会收到一封电子邮件。然而,这是一种糟糕的用户体验。

我想做的是处理异常,这样我就可以立即采取适当的措施并防止出现一些一般性错误页面。

我的问题是:

  1. 我应该捕获哪些异常?
  2. 我应该在哪里捕捉它们?

我意识到对此的完整回答是不切实际的,但我正在为最常见的情况寻找一些最佳实践。

对于我应该捕获的异常,我有时会看到不在 official list 上的异常.例如,我收到了一个 UnknownError。

关于在哪里捕获异常,我想知道是否应该在每个get/post方法中捕获它们。像这样:

def get(self):
try:
# normal get processing
except SomeException:
# redirect to the same page to try again and fix any data if necessary

我很惊讶没有关于此的更多信息,因为这是任何 GAE 应用程序的一个重要方面。有几篇不错的文章herehere ,但这些并没有回答我的问题。

最佳答案

What exceptions should I catch?

这取决于您要捕获的错误级别。根据我在官方列表和链接文章中捕获错误的经验,您将获得非常高的错误捕获水平。如果您需要超越,那么放入通用 except 比尝试预测未知错误更容易。

Where should I catch them?

GAE 错误最有可能发生的地方是在与数据库交互时,因此如果您还没有在周围设置一些 try-except block ,那么您在处理 GAE 问题错误方面所做的努力将得到很好的返回处理。

除了链接文章的建议之外,您还可以考虑将失败的操作放入任务队列中。每个任务在失败前会自动重试 5 次,如果您不需要立即从操作中获得反馈,这可以让您有能力安然度过数据存储切换或其他服务中断。

关于python - 如何使用谷歌应用引擎处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11276322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com