【发布时间】:2013-02-06 05:58:50
【问题描述】:
我喜欢 Flask 的错误捕捉功能。非常简单:
@app.errorhandler(404)
def pageNotFound(error):
return "page not found"
像魅力一样工作。但它不适用于 500 错误代码。当出现问题时,我想在代码中引发异常时捕获 Python 错误。这可能吗?
我应该注意,如果我在视图中明确调用return abort(500),那么 500 错误处理程序确实可以工作。因此,这明确适用于 Python 代码失败的情况。
这可能吗?
【问题讨论】:
-
你能澄清一下你在找什么吗?我不明白您所说的“我想在出现问题时捕获 Python 错误,并在代码中引发异常”是什么意思。你的意思是如果在普通视图中引发 Python 异常,你期望 500 错误处理程序会被自动调用?
-
这是正确的,如果普通视图中的代码执行诸如将 1 除以 0 或访问 2 元素数组中的第三个元素或执行任何其他引发 Python 异常且未捕获异常的操作,我想要一个特殊的视图方法来运行。用
@app.errorhandler(500)装饰一个函数似乎不起作用。