有没有办法配置Flask使用的简单服务器不退出每个语法错误?
app = Flask(__name__)
app.run(host='0.0.0.0', debug=True, use_debugger=True, passthrough_errors=False);
目前我正在为简单服务器使用此设置。 将passthrough_errors设置为False意味着大多数错误实际上使进程保持活动状态,以便我可以使用交互式调试器,但语法错误仍然会退出程序。我尝试了不同的配置值,但我没有找到任何有效的配置。谢谢!
答案 0 :(得分:3)
根据Python文档,有两种类型或错误:
语法错误是在解析时期间产生的(此时您的代码不实际执行,因此您无法捕获错误,因为解析时间不是运行时,代码实际执行时。)
你可以捕获语法错误的唯一方法是它们发生在作为 exec 函数的参数给出的代码段内(执行python代码字符串):
>>> try:
... exec('x===6')
... except SyntaxError:
... print('Hello!')
...
Hello!
但是你必须记住只有当你真正知道你做了什么时才使用exec()。不建议使用exec(),特别是当它取决于用户输入时。