Flask App.Errorhandler在使用Blask-CLI运行时不会捕获异常



我正在努力获取烧瓶应用程序,以便使用烧瓶-CLI调用应用程序时正确处理错误。

这是一个名为 app_runner.py的简单文件:

import click
from flask import Flask
from flask_cli import FlaskCLI
app = Flask(__name__)
FlaskCLI(app)
@app.errorhandler(Exception)
def catch_error(e):
    print('I wish I saw this')
@app.cli.command(with_appcontext=True)
def test_run():
    with app.app_context():
        print('You will see this')
        raise Exception
        print('You won't see this')

我通过此bash命令调用 test_run函数: FLASK_APP=app_runner.py flask test_run

我看到了第一个打印语句"你会看到这个",但我看不到那个说"我希望我看到的"的声明。

我击中了Exception,但是我从未进入app.errorhandler下定义的代码。有人有任何建议吗?

错误处理程序仅用于处理视图时引起的错误。CLI命令是完全分开的。如果要在单击命令中处理错误,则需要像任何Python例外一样处理它:使用try / except块。

最新更新