Python |通过自定义异常返回400

时间:2019-01-15 17:08:43

标签: python flask

我编写了一个自定义异常处理类来验证输入请求数据,并在验证失败时提出该请求。这是一个Flask应用程序。这似乎一直有效,直到时间服务器未调度响应为止,因为我可以看到异常对象具有自定义错误,但随后将其转换为通用500错误消息。我是否想念这里做错了什么?

class CustException(Exception):
    pass

class APIException(CustException):
    def __init__(self, status=None, title=None, type=None, detail=None, **kwargs):
        super(AIVException, self).__init__(detail)
        self.status = status
        self.detail = detail
        self.title = title
        self.type = type

if x not in [1, 2]:
    raise APIException(status=400, title='Bad request', type=default_type, detail="pass the correct value")

**

  

注意-我希望通过引发异常而不是使用异常来做到这一点   错误处理程序。因此,请不要将其标记为重复。

**

1 个答案:

答案 0 :(得分:0)

如果您想使用API​​Exception返回自定义消息或其他内容,则可以使用errorhandler装饰器

@app.errorhandler(APIException)
def api_exception(ex):
    return 'Your custom message', your_code