【发布时间】:2017-09-29 12:36:40
【问题描述】:
在 Flask+Python 中处理通过 GET 或 POST 请求传入的无效参数的最佳方法是什么?
假设为了参数,我使用 Flask+Python 处理 GET 请求,该请求需要一个需要为整数的参数,但客户端将其作为无法解释为整数的值提供。因此,很明显,当我尝试将该参数转换为整数时会引发异常。
我的问题是我是否应该让该异常传播,从而让 Flask 执行将 HTTP 状态代码 500 返回给客户端的默认操作?还是我应该处理它并将正确的 (IMO) 状态代码 400 返回给客户端?
第一个选项是两者中较容易的一个。不利的一面是,由此产生的错误不清楚是谁的错。系统管理员可能会查看日志,但对 Python 或 Flask 一无所知,可能会得出代码中存在错误的结论。但是,如果我返回 400,那么问题可能出在客户端就会变得更加清楚。
大多数人在这些情况下会做什么?
【问题讨论】:
-
来自 Python 之禅:“错误永远不应该静默传递。除非明确地静默。”