【问题标题】:Handle server error python处理服务器错误python
【发布时间】:2011-06-24 10:54:54
【问题描述】:

我正在开发一个用户输入域的 api,我需要重定向到该域的登录页面。 所以这只适用于谷歌域,我需要处理用户输入非谷歌域时创建的错误。我在谷歌应用引擎上工作。 我是 dis 错误处理的新手。所以请解释一下它是如何与解决方案一起工作的

我收到的错误是

//错误:服务器错误

服务器遇到错误,无法完成您的请求。//

提前谢谢

【问题讨论】:

  • 我已经合并了您未注册的帐户,您现在可以将 cmets 留在答案下,编辑您的问题并最终接受对您最有帮助的答案。我建议您注册,因为您在 24 小时内意外创建了两个帐户。

标签: python api error-handling


【解决方案1】:

最简单的解决方案可能是在使用之前尝试验证用户输入。一个简单的正则表达式检查用户输入的域的最后部分可能就足够了。

如果您想支持没有google\.[a-z]+appspot.com 后缀的任意域,您将需要另一种方法来确定该站点是否符合您的要求。不幸的是,没有“is-powered-by-google-or-has-a-google-like-login-page”标题,因此如果页面可能是,您可能需要查看内容并使用一些启发式方法有没有这样的页面。

您现在遇到的服务器错误类型(500 内部服务器错误)可能意义重大。此错误表明您的应用程序或服务器配置有问题。例如,如果您部署一个有语法错误的脚本,当有人试图访问它时,Web 服务器将响应“服务器错误”。此外,如果您想除以 0 或尝试访问不存在的元素,则会显示这种错误。因此,服务器错误只是编程错误的一个非常笼统的名称,应该避免(并修复!)。

【讨论】:

  • .. 非常感谢您的回答,但我已经检查了您在回答中提到的内容。我需要做的是找出给定的域是谷歌域,这可以通过转到 URL 来完成。当它是一个非谷歌域时,我得到一个 ERROR : SERVER ERROR ,我怎么能捕捉到 dis 错误。我需要在 except 中提及。我试过服务器错误。是否有任何方法可以在不提及它们的情况下捕获所有错误....提前致谢。
【解决方案2】:

很难准确地指定您的案例需要什么,但错误捕获通常的工作方式是这样的:

try:
    something_that_might_fail()
except ErrorClass:
    do_something_else()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 2015-02-08
    • 1970-01-01
    相关资源
    最近更新 更多