gpt4 book ai didi

Tornado 错误处理

转载 作者:行者123 更新时间:2023-12-04 16:52:05 27 4
gpt4 key购买 nike

我希望能够处理一个更好的错误,如果我输入了错误的 URL E.g. localhost:8000/AFDADSFDKFADS
因为抛出了 tornado.web.HTTPError 异常,我收到了一条丑陋的 python 回溯消息。我知道我可以使用正则表达式来捕获除正确 URL 之外的所有场景,但是我认为必须有一种方法可以在 Tornado 中处理此错误。

我知道我可以使用 write_error()扩展 tornado.web.RequestHandler 时但是因为这个错误发生在 tornado.web.Application课我不知道怎么处理。
我认为这可能与类(class)有关 tornado.web.ErrorHandler(application, request, **kwargs)但是我不确定。

也有人可以告诉我我是否在 tornado.web.RequestHandler方法并执行 raise KeyError或其他异常而没有捕获它为什么 write_error()没有被调用?似乎忽略了异常。

最佳答案

要提供自定义 404 页面,请创建一个调用 self.set_status(404) 的处理程序。 (除了产生你想要的任何输出)并将其设置为 default_handler_classApplication构造函数关键字参数。

class My404Handler(RequestHandler):
# Override prepare() instead of get() to cover all possible HTTP methods.
def prepare(self):
self.set_status(404)
self.render("404.html")

app = Application(..., default_handler_class=My404Handler)

您可能不想使用 ErrorHandler :这是一种返回指定状态代码的简单方法,但它不能让您控制输出。

关于Tornado 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30939298/

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